资源授权方法及装置与流程

文档序号:11681217阅读:211来源:国知局
资源授权方法及装置与流程

本发明涉及移动通讯领域,特别是涉及一种资源授权方法及装置。



背景技术:

oauth是一个关于授权(authorization)的开放网络标准,在全世界得到广泛应用,目前的版本是2.0版。oauth在"第三方应用"与"服务提供商"之间,设置了一个授权层(authorizationlayer)。"第三方应用"不能直接登录"服务提供商",只能登录授权层,以此将用户与第三方应用区分开来。"第三方应用"登录授权层所用的令牌(token),与用户的密码不同。用户可以在登录的时候,设置授权令牌的权限范围和有效期。

"第三方应用"登录授权层以后,"服务提供商"根据令牌的权限范围和有效期,向"第三方应用"开放用户储存的资料。在现有技术中,一般授权流程如下:

步骤1,用户打开第三方应用以后,第三方应用要求用户给予授权。

步骤2,用户同意给予第三方应用授权。

步骤3,第三方应用使用上一步获得的授权,向认证服务器申请令牌。

步骤4,认证服务器对第三方应用进行认证以后,确认无误,同意发放令牌。

步骤5,第三方应用使用令牌,向资源服务器申请获取资源。

步骤6,资源服务器确认令牌无误,同意向第三方应用开放资源。

从上述处理过程可以看出,上述方案中第三方应用一旦获取令牌以后,在有效期限以内可以任意访问相应的资源。因此在授权访问资源的这一环节,oauth协议框架存在以下一些不安全的因素:

1、第三方在引导用户授权时,认证服务器往往对要求的权限描述不是非 常清晰,细节不明,一般用户往往在没有完全理解风险的基础上就选择了同意。

2、第三方在本次使用完相应的资源后,仍然持有该访问令牌,在有效期内可以在用户完全不知情的情况下继续使用一些用户资源,侵犯了用户相关权益。例如,第三方获取某用户的好友列表资源,然后在该用户不知情的情况下向好友群发广告邮件等。



技术实现要素:

鉴于现有技术中第三方应用在滥用授权的问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的资源授权方法及装置。

本发明提供一种资源授权方法,包括:

接收第三方应用的授权访问请求,并引导用户对第三方应用进行授权,根据用户的授权结果向第三方应用发送令牌;

接收第三方应用发送的携带有令牌的用户资源访问请求,对令牌进行验证,在验证通过后,根据用户资源访问请求确定第三方应用所访问的用户资源是否为属于预先规定的敏感资源;

在确定第三方应用所访问的用户资源为敏感资源时,向用户发送是否授权第三方应用获取敏感资源的请求,接收用户的授权应答,根据授权应答确定是否将敏感资源返回给第三方应用。

本发明还提供了一种资源授权装置,设置于服务提供商的服务器,包括:

令牌模块,用于接收第三方应用的授权访问请求,并引导用户对第三方应用进行授权,根据用户的授权结果向第三方应用发送令牌;

确定模块,用于接收第三方应用发送的携带有令牌的用户资源访问请求,对令牌进行验证,在验证通过后,根据用户资源访问请求确定第三方应用所访问的用户资源是否为属于预先规定的敏感资源;

授权请求模块,用于在确定第三方应用所访问的用户资源为敏感资源时,向用户发送是否授权第三方应用获取敏感资源的请求,接收用户的授权应答, 根据授权应答确定是否将敏感资源返回给第三方应用。

本发明有益效果如下:

通过在资源访问真正发生时,给用户以更加明确的通知信息,解决了现有技术中第三方应用在滥用授权的问题,能够有效防止了第三方在后台滥用授权。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

图1是本发明实施例的资源授权方法的流程图;

图2是本发明实施例的资源授权方法的信令流程图;

图3是本发明实施例的资源授权方法的优选实例的信令流程图;

图4是本发明实施例的资源授权装置的结构示意图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

为防止第三方应用在事后滥用授权,本发明实施例提供了一种资源授权方法及装置,当第三方应用持令牌访问资源服务器时,服务器需要对访问内容加 以甄别,如访问较高级别的敏感资源时,以短信,推送(push)消息,电子邮件等方式告知用户。用户以规定的授权方式回应后,资源服务器才能允许第三方继续访问资源。规定的授权方式可以有一次授权,多次授权,限期内永久授权,限时授权等。以下结合附图以及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不限定本发明。

方法实施例

根据本发明的实施例,提供了一种资源授权方法,图1是本发明实施例的资源授权方法的流程图,如图1所示,根据本发明实施例的资源授权方法包括如下处理:

步骤101,接收第三方应用的授权访问请求,并引导用户对第三方应用进行授权,根据用户的授权结果向第三方应用发送令牌;其中,可以根据oauth协议引导用户对第三方应用进行授权。

步骤102,接收第三方应用发送的携带有令牌的用户资源访问请求,对令牌进行验证,在验证通过后,根据用户资源访问请求确定第三方应用所访问的用户资源是否为属于预先规定的敏感资源;

步骤103,在确定第三方应用所访问的用户资源为敏感资源时,向用户发送是否授权第三方应用获取敏感资源的请求,接收用户的授权应答,根据授权应答确定是否将敏感资源返回给第三方应用。

优选地,是否授权第三方应用获取敏感资源的请求具体包括:敏感资源的详细信息、安全级别、以及是否授权的请求;授权应答具体包括:同意或拒绝授权、以及授权方式,其中,授权方式包括:一次同意或拒绝授权、多次同意或拒绝授权、以及限时同意或拒绝授权。

其中,在步骤103中,在确定第三方应用所访问的用户资源为敏感资源时,可以将第三方应用发送的用户资源访问请求挂起;或者,向第三方应用返回等待响应。

在步骤103中,根据授权应答确定是否将敏感资源返回给第三方应用具体 包括:如果用户的授权应答为同意授权,则将敏感资源返回给第三方应用;如果用户的授权应答为拒绝授权,则将拒绝授权响应返回给第三方应用。

在本发明实施例中,在确定第三方应用所访问的用户资源不是敏感资源时,将第三方应用所请求的用户资源返回给第三方应用。

向用户发送是否授权第三方应用获取敏感资源的请求之后,如果在预定时间内没有收到用户返回的授权应答,则默认用户拒绝授权。

以下结合附图,对本发明实施例的上述技术方案进行详细说明。

图2是本发明实施例的资源授权方法的信令流程图,如图2所示,具体包括如下处理:

步骤201,第三方应用请求服务提供者进行授权;

步骤202,按oauth协议引导用户授权后,服务提供者返回给第三方应用一个令牌;

步骤203,第三方应用使用此令牌向服务提供者请求访问用户的相关资源;

步骤204,服务提供者判断此次访问的用户资源是否为敏感资源,如果不是敏感资源,直接返回资源给第三方。如果是敏感资源,将挂起该访问请求或返回给第三方一个需要等待的响应;

步骤205,对于敏感资源,服务提供者将通过各种通道告知用户详细的第三方应用请求信息,指明安全级别,要求用户再次确认同意或拒绝该授权;

步骤206,用户从服务提供者收到该信息后需要进行应答,同意或拒绝授权,如果用户一段时间内没有任何响应,则默认为拒绝授权;用户在同意和拒绝时可根据提示做出特定授权应答,如一次授权,多次授权,限期内永久授权,限时授权等方式;

步骤207,服务提供者根据用户的应答情况,对第三方进行回复。如用户同意授权则返回相应资源,否则回复userdennied等类似响应。

以下结合实例,对本发明实施例的上述技术方案进行举例说明。

图3是本发明实施例的资源授权方法的优选实例的信令流程图,如图3所 示,具体包括如下处理:

步骤301,第三方应用向im服务提供商请求授权访问某手机用户的相关信息;

步骤302,第三方应用按oauth协议打开浏览器,访问im服务提供商的用户登录授权页面。引导用户登录并授权后,返回给第三方应用一个令牌;

步骤303,第三方应用使用该令牌请求访问该im用户的相关信息资源,如该用户的好友信息;

步骤304,im服务提供商判断此次访问的用户资源是否为敏感资源,比如此时访问的是该用户的基本资料,如昵称,id等,则直接授权给第三方。如果访问的是im好友的信息等敏感资源,则将挂起该访问请求或返回给第三方一个需要等待的响应;

步骤305,对于im好友信息等敏感资源,im服务提供商将通过各种可选通道,如短信,push,email等告知用户详细的请求情况,指明有可能涉及到哪些安全因素,要求用户再次确认同意或拒绝该授权;

步骤306,用户通过短信等方式收到请求后,再通过回复短信等方式告知im服务提供商同意或拒绝授权。如果用户一段时间内没有任何响应,则默认为拒绝授权;用户在同意和拒绝时可根据提示做出特定授权应答,如一次授权,多次授权,限期内永久授权,限时授权等方式;

步骤307,im服务提供商根据用户的应答情况,对第三方应用进行回复。如用户同意授权则返回相应资源,否则回复userdennied;

综上所述,借助于本发明实施例的技术方案,通过在资源访问真正发生时,给用户以更加明确的通知信息,解决了现有技术中第三方应用在滥用授权的问题,能够使用户可以更加灵活地选择使用多种授权方式,从而有效防止了第三方在后台滥用授权。

装置实施例

根据本发明的实施例,提供了一种资源授权装置,设置于服务提供商的服 务器,图4是本发明实施例的资源授权装置的结构示意图,如图4所示,根据本发明实施例的资源授权装置包括:令牌模块40、确定模块42、以及授权请求模块44,以下对本发明实施例的各个模块进行详细的说明。

令牌模块40,用于接收第三方应用的授权访问请求,并引导用户对第三方应用进行授权,根据用户的授权结果向第三方应用发送令牌;令牌模块40具体用于:根据oauth协议引导用户对第三方应用进行授权。

确定模块42,用于接收第三方应用发送的携带有令牌的用户资源访问请求,对令牌进行验证,在验证通过后,根据用户资源访问请求确定第三方应用所访问的用户资源是否为属于预先规定的敏感资源;

授权请求模块44,用于在确定第三方应用所访问的用户资源为敏感资源时,向用户发送是否授权第三方应用获取敏感资源的请求,接收用户的授权应答,根据授权应答确定是否将敏感资源返回给第三方应用。

其中,是否授权第三方应用获取敏感资源的请求具体包括:敏感资源的详细信息、安全级别、以及是否授权的请求;授权应答具体包括:同意或拒绝授权、以及授权方式,其中,授权方式包括:一次同意或拒绝授权、多次同意或拒绝授权、以及限时同意或拒绝授权。

授权请求模块44具体用于:如果用户的授权应答为同意授权,则将敏感资源返回给第三方应用;如果用户的授权应答为拒绝授权,则将拒绝授权响应返回给第三方应用。

授权请求模块44进一步用于:将第三方应用发送的用户资源访问请求挂起;或者,向第三方应用返回等待响应。在确定模块42确定第三方应用所访问的用户资源不是敏感资源时,将第三方应用所请求的用户资源返回给第三方应用。向用户发送是否授权第三方应用获取敏感资源的请求之后,如果在预定时间内没有收到用户返回的授权应答,则默认用户拒绝授权。

综上所述,借助于本发明实施例的技术方案,通过在资源访问真正发生时,给用户以更加明确的通知信息,解决了现有技术中第三方应用在滥用授权的问 题,能够使用户可以更加灵活地选择使用多种授权方式,从而有效防止了第三方在后台滥用授权。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。

在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。

类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。

本领域那些技术人员可以理解,可以对实施例中的客户端中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个客户端中。可以把实施例中的模块组合成一个模块,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公 开的所有特征以及如此公开的任何方法或者客户端的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。

此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。

本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(dsp)来实现根据本发明实施例的加载有排序网址的客户端中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。

应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1