CN106341234B - 一种授权方法及装置 - Google Patents
一种授权方法及装置 Download PDFInfo
- Publication number
- CN106341234B CN106341234B CN201510424586.9A CN201510424586A CN106341234B CN 106341234 B CN106341234 B CN 106341234B CN 201510424586 A CN201510424586 A CN 201510424586A CN 106341234 B CN106341234 B CN 106341234B
- Authority
- CN
- China
- Prior art keywords
- authorization
- resource
- requester
- authentication
- server
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Telephonic Communication Services (AREA)
Abstract
本发明实施例提供一种授权方法及装置,涉及通信技术领域,能够解决现有技术中的授权机制不能支持用户授权其他用户通过第三方应用安全访问自己托管于授权服务器的受保护资源的问题。具体方案为:授权服务器接收第一终端发送的授权请求,授权请求用于资源请求者通过第一终端使用第三方应用时请求访问资源拥有者托管于授权服务器的资源,对资源请求者进行身份鉴权,若资源请求者身份鉴权通过,则确定资源拥有者是否给予资源请求者授权,若资源拥有者给予授权,则向第一终端发送授权指令,以使得资源请求者通过第三方应用访问资源拥有者托管于授权服务器的资源。本发明实施例用于进行授权操作。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种授权方法及装置。
背景技术
随着互联网和移动互联网的发展,掌握了大量用户信息的电信运营商或者服务提供商,会将自身所持有的最终用户业务信息开放出来,以支撑更多开发者来提供更多的整合创新类应用和业务。而在开放用户信息时,往往需要涉及用户受保护资源的安全问题,因而通常需要在用户授权后才能对外的提供用户受保护资源的访问。
用户信息开放业务场景主要包括两种:一种是自用场景,即开放给用户通过第三方应用访问自己托管于授权服务器的受保护资源;另一种是他用场景,即开放给其他用户通过第三方应用访问自己托管于授权服务器的受保护资源。开放授权(OpenAuthorization,OAuth)标准为用户资源的授权提供了一个安全、开放而又简易的标准。OAuth标准提供的授权方式不会使第三方应用触及到用户的敏感信息(例如用户名与密码),第三方无需使用用户的用户名与密码就可以申请并获得授权以访问该用户托管于授权服务器的受保护资源,即OAuth标准提供的授权机制可以支持用户授权第三方应用安全访问自己托管于授权服务器的受保护资源。但OAuth标准提供的授权机制不能支持用户授权其他用户通过第三方应用安全访问自己托管于授权服务器的受保护资源。
发明内容
本发明实施例提供一种授权方法及装置,能够解决现有技术中的授权机制不能支持用户授权其他用户通过第三方应用安全访问自己托管于授权服务器的受保护资源的问题。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,提供一种授权方法,应用于托管用户资源的授权服务器,包括:
接收资源请求者通过第一终端发送的授权请求,所述授权请求用于资源请求者通过第一终端使用第三方应用时请求访问资源拥有者托管于授权服务器的资源;
对所述资源请求者进行身份鉴权;
若所述资源请求者身份鉴权通过,则确定所述资源拥有者是否给予所述资源请求者授权;
若所述资源拥有者给予授权,则向所述第一终端发送授权指令,以使得所述资源请求者通过所述第三方应用访问所述资源拥有者托管于所述授权服务器的资源。
结合第一方面,在第一方面的第一种可能的实现方式中,所述授权请求中携带的参数包括资源拥有者标识和第三方应用标识。
结合第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述对所述资源请求者进行身份鉴权包括:
获取所述资源请求者的身份鉴权参数,并根据所述身份鉴权参数对所述资源请求者进行身份鉴权。
结合第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式中,所述资源请求者的身份鉴权参数包括账户类型,所述账户类型包括授权服务器管理的账户类型、移动手机号码类型或第三方鉴权服务器管理的账户类型。
结合第一方面的第三种可能的实现方式,在第一方面的第四种可能的实现方式中,获取所述身份鉴权参数包括:
通过所述第一终端向所述资源请求者提供鉴权页面获取所述资源请求者输入的所述身份鉴权参数。
结合第一方面的第四种可能的实现方式,在第一方面的第五种可能的实现方式中,若所述资源请求者为所述授权服务器管理的用户,则所述资源请求者的身份鉴权参数中的所述账户类型为所述授权服务器管理的账户类型,所述根据所述身份鉴权参数对所述资源请求者进行身份鉴权包括:
获取所述资源请求者通过所述鉴权页面输入的所述授权服务器管理的账户的用户标识和登录密码信息;
若获取的所述用户标识和所述登录密码信息与所述授权服务器中保存的用户标识和登录密码信息的映射关系相匹配,则确定所述资源请求者身份鉴权通过。
结合第一方面的第四种可能的实现方式,在第一方面的第六种可能的实现方式中,若所述资源请求者为移动手机号码,则所述资源请求者的身份鉴权参数中的所述账户类型为移动手机号码类型。
结合第一方面的第六种可能的实现方式,在第一方面的第七种可能的实现方式中,所述身份鉴权参数还包括移动消息发送方式,所述发送方式包括短消息业务SMS、多媒体消息业务MMS、非结构化补充数据业务USSD或交互式语音应答IVR。
结合第一方面的第七种可能的实现方式,在第一方面的第八种可能的实现方式中,所述根据所述身份鉴权参数对所述资源请求者进行身份鉴权包括:
获取所述资源请求者通过所述鉴权页面输入的移动手机号码;
通过所述SMS、所述MMS、所述USSD或所述IVR方式向所述移动手机号码发送移动消息,所述移动消息中携带鉴权码信息;
获取所述资源请求者通过所述鉴权页面输入的鉴权码信息;
若获取的鉴权码信息与向所述移动手机号码发送的鉴权码信息一致,则确定所述资源请求者身份鉴权通过。
结合第一方面的第四种可能的实现方式,在第一方面的第九种可能的实现方式中,若所述资源请求者为第三方鉴权服务器管理的用户,且所述第三方鉴权服务器为所述授权服务器所信任,则所述资源请求者的身份鉴权参数中的所述账户类型为第三方鉴权服务器管理的账户类型,所述根据所述身份鉴权参数对所述资源请求者进行身份鉴权包括:
向第三方鉴权服务器发送鉴权指令,以指示所述第三方鉴权服务器对所述资源请求者进行身份鉴权;
接收所述第三方鉴权服务器的发送的鉴权结果,所述鉴权结果包括所述资源请求者的第三方鉴权服务器管理的账户的用户标识以及所述资源请求者身份合法或不合法;
若所述鉴权结果中包括所述资源请求者身份合法,则确定所述资源请求者身份鉴权通过。
结合第一方面至第一方面的第九种可能的实现方式中的任意一种,在第一方面的第十种可能的实现方式中,若所述资源请求者身份鉴权通过,则所述方法还包括:
记录所述资源请求者标识,所述资源请求者标识包括授权服务器管理的账户的用户标识、移动手机号码或第三方鉴权服务器管理的账户的用户标识。
结合第一方面至第一方面的第十种可能的实现方式中的任意一种,在第一方面的第十一种可能的实现方式中,所述确定所述资源拥有者是否给予所述资源请求者授权包括:
获取所述资源拥有者的授权信息,所述授权信息包括所述资源拥有者授权或不授权;
根据所述授权信息确定所述资源拥有者是否给予所述资源请求者授权。
结合第一方面至第一方面的第十种可能的实现方式中的任意一种,在第一方面的第十二种可能的实现方式中,在所述方法之前还包括:
设置预授权策略,所述预授权策略包括授权方、授权请求方和授权请求应用方的映射关系和预授权条件,所述预授权条件包括授权范围和/或授权门限,和/或时间限制,和/或授权次数。
结合第一方面的第十二种可能的实现方式,在第一方面的第十三种可能的实现方式中,所述若所述资源请求者身份鉴权通过,则确定所述资源拥有者是否给予所述资源请求者授权包括:
在所述资源请求者身份鉴权通过时,记录资源请求者标识,并确定所述资源拥有者标识、所述资源请求者标识和所述第三方应用标识的映射关系与所述授权方、所述授权请求方和所述授权请求应用方的映射关系是否匹配,且是否符合所述预授权条件;
若是,则确定所述资源拥有者给予所述资源请求者授权;
若否,则获取所述资源请求者的授权信息,所述授权信息包括所述资源拥有者授权或不授权;
根据所述授权信息确定所述资源拥有者是否给予所述资源请求者授权。
结合第一方面的第十一种可能的实现方式或第十三种可能的实现方式,在第一方面的第十四种可能的实现方式中,若所述资源请求者通过所述第一终端使用所述第三方应用,且所述第一终端为所述资源拥有者所信任,则所述获取授权信息包括:
通过所述第一终端向所述资源拥有者提供授权页面,所述授权页面显示有所述资源请求者标识和所述第三方应用标识;
在所述资源拥有者通过所述授权页面合法登录后,获取所述资源拥有者输入的授权信息。
结合第一方面的第十一种可能的实现方式或第十三种可能的实现方式,在第一方面的第十五种可能的实现方式中,若所述资源请求者通过所述第一终端使用所述第三方应用,且所述第一终端不被所述资源拥有者信任,则所述获取授权信息包括:
通过所述第一终端向所述资源拥有者提供授权页面,所述授权页面显示有所述资源请求者标识和所述第三方应用标识;
在所述资源拥有者通过第二终端连接到所述授权页面并合法登录后,获取所述资源拥有者输入的授权信息。
结合第一方面的第十一种可能的实现方式或第十三种可能的实现方式,在第一方面的第十六种可能的实现方式中,若所述资源请求者通过第一终端使用所述第三方应用,且所述第一终端不被所述资源拥有者信任,则所述获取授权信息包括:
若所述资源拥有者标识绑定有移动手机号码,则向所述绑定的移动手机号码发送移动消息,以请求获取所述资源拥有者的授权信息;
接收所述资源拥有者通过所述移动手机号码回复的移动消息,以获取所述移动消息中携带的所述资源拥有者的授权信息。
第二方面,提供一种授权方法,应用于承载第三方应用的终端,包括:
当资源请求者通过终端使用第三方应用并请求访问资源拥有者托管于授权服务器的资源时,向所述授权服务器发送授权请求,所述授权请求中携带的参数包括资源拥有者标识和第三方应用标识;
接收授权服务器发送的授权指令,以使得所述资源请求者通过所述第三方应用访问所述资源拥有者托管于所述授权服务器的资源。
第三方面,提供一种授权服务器,包括:
接收单元,用于接收资源请求者通过第一终端发送的授权请求,所述授权请求用于资源请求者通过第一终端使用第三方应用时请求访问资源拥有者托管于授权服务器的资源;
鉴权单元,用于对所述资源请求者进行身份鉴权;
确定单元,用于若所述资源请求者身份鉴权通过,则确定所述资源拥有者是否给予所述资源请求者授权;
发送单元,用于若所述资源拥有者给予授权,则向所述第一终端发送授权指令,以使得所述资源请求者通过所述第三方应用访问所述资源拥有者托管于所述授权服务器的资源。
结合第三方面,在第三方面的第一种可能实现的方式中,所述授权请求中携带的参数包括资源拥有者标识和第三方应用标识。
结合第三方面的第一种可能的实现方式,在第三方面的第二种可能实现的方式中,所述鉴权单元具体用于:
获取所述资源请求者的身份鉴权参数,并根据所述身份鉴权参数对所述资源请求者进行身份鉴权。
结合第三方面的第二种可能的实现方式,在第三方面的第三种可能实现的方式中,所述资源请求者的身份鉴权参数包括账户类型,所述账户类型包括授权服务器管理的账户类型、移动手机号码类型或第三方鉴权服务器管理的账户类型。
结合第三方面的第三种可能的实现方式,在第三方面的第四种可能实现的方式中,所述鉴权单元具体用于:
通过所述第一终端向所述资源请求者提供鉴权页面获取所述资源请求者输入的所述身份鉴权参数。
结合第三方面的第四种可能的实现方式,在第三方面的第五种可能实现的方式中,若所述资源请求者为所述授权服务器管理的用户,则所述资源请求者的身份鉴权参数中的所述账户类型为所述授权服务器管理的账户类型;
若所述资源请求者为移动手机号码,则所述资源请求者的身份鉴权参数中的所述账户类型为移动手机号码类型;
若所述资源请求者为第三方鉴权服务器管理的用户,且所述第三方鉴权服务器为所述授权服务器所信任,则所述资源请求者的身份鉴权参数中的所述账户类型为第三方鉴权服务器管理的账户类型。
第四方面,提供一种终端,包括:
发送单元,用于当资源请求者通过终端使用第三方应用并请求访问资源拥有者托管于授权服务器的资源时,向所述授权服务器发送授权请求,所述授权请求中携带的参数包括资源拥有者标识和第三方应用标识;
接收单元,用于接收授权服务器发送的授权指令,以使得所述资源请求者通过所述第三方应用访问所述资源拥有者托管于所述授权服务器的资源。
本发明实施例提供的授权方法及装置,授权服务器在接收到资源请求者请求通过第三方应用访问资源拥有者托管于授权服务器的受保护资源的授权请求后,对资源请求者进行身份鉴权,在鉴权通过且资源拥有者给予资源请求者授权后,资源请求者可以通过第三方应用访问资源拥有者托管于授权服务器的资源。因而,可以在授权过程中避免将资源拥有者的用户名、密码等敏感信息提供给第三方应用,即第三方应用无需触及资源拥有者的敏感信息就可以申请并获得授权,从而保护了资源拥有者的用户敏感信息,使得授权过程安全可靠,因而能够解决现有技术中的授权机制不能支持用户授权其他用户通过第三方应用安全访问自己托管于授权服务器的受保护资源的问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种网络架构示意图;
图2为本发明实施例提供的一种授权服务器结构示意图;
图3为本发明实施例提供的一种终端结构示意图;
图4为本发明实施例提供的一种方法流程示意图;
图5为本发明实施例提供的另一种方法流程示意图;
图6a为本发明实施例提供的一种鉴权页面示意图;
图6b为本发明实施例提供的另一种鉴权页面示意图;
图6c为本发明实施例提供的另一种鉴权页面示意图;
图6d为本发明实施例提供的另一种鉴权页面示意图;
图6e为本发明实施例提供的另一种鉴权页面示意图;
图7为本发明实施例提供的另一种方法流程示意图;
图8为本发明实施例提供的另一种方法流程示意图;
图9为本发明实施例提供的另一种方法流程示意图;
图10为本发明实施例提供的另一种方法流程示意图;
图11为本发明实施例提供的一种授权页面示意图;
图12为本发明实施例提供的另一种方法流程示意图;
图13为本发明实施例提供的另一种方法流程示意图;
图14为本发明实施例提供的另一种方法流程示意图;
图15为本发明实施例提供的另一种方法流程示意图;
图16为本发明实施例提供的又一种授权服务器结构示意图;
图17为本发明实施例提供的又一种授权服务器结构示意图;
图18为本发明实施例提供的又一种授权服务器结构示意图;
图19为本发明实施例提供的又一种终端结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
第三方应用是非资源托管方开发的应用,当用户通过第三方应用访问授权服务器上托管的资源时,需要获得资源拥有者的授权。参见图1所示的网络架构图,用户托管于授权服务器的受保护资源通常存放于资源服务器中,用户通过授权服务器以及相应授权通道对自己或其他用户进行访问授权,以使得自己或其他用户可以通过终端承载的第三方应用安全访问自己托管于授权服务器的受保护资源。
OAuth 2.0是开放授权标准目前采用的最新版本,根据OAuth 2.0提供的授权机制,当用户通过使用第三方应用访问自己托管于授权服务器的资源时,通过第三方应用向授权服务器发送授权请求,授权服务器向用户提供授权页面以确定用户是否给予授权,若用户给予授权,则授权服务器将授权码通知给第三方应用,第三方应用根据授权码向授权服务器请求访问令牌,并在接收到授权服务器发送的访问令牌和更新令牌后,以访问令牌和更新令牌为凭证访问用户托管于授权服务器的受保护信息。由于第三方应用需要通过终端提供的硬件设备进行承载,因而第三方应用通常通过承载第三方应用的终端与授权服务器进行信息交互。
其中,关于OAuth 2.0的详细描述具体可以参见现有技术。本发明实施例在OAuth2.0的基础上进行扩展,以使得用户能够授权其他用户通过第三方应用安全访问自己托管于授权服务器的受保护资源。
实施例1
本发明实施例提供了一种图1所示的网络架构中托管用户资源的授权服务器200,参见图2,授权服务器200可以包括处理器201、接收器202、发送器203、存储器204及总线205,其中,存储器204用于存储指令和数据;总线205用于连接处理器201、接收器202、发送器203和存储器204;接收器202执行该指令可以用于接收资源请求者通过第一终端发送的授权请求,授权请求用于资源请求者通过第一终端使用第三方应用时请求访问资源拥有者托管于授权服务器200的资源;处理器201执行该指令可以用于对资源请求者进行身份鉴权,且若资源请求者身份鉴权通过,则确定资源拥有者是否给予资源请求者授权;发送器203执行该指令可以用于若资源拥有者给予资源请求者授权,则向第一终端发送授权指令,以使得资源请求者通过第三方应用访问资源拥有者托管于授权服务器200的资源。
需要说明的是,本发明实施例提供的授权服务器200,可以在保证第三方应用未触及到资源拥有者的用户名、登录密码等用户敏感信息的前提下给予资源请求者授权,使得资源请求者在授权后可以通过该第三方应用安全访问资源拥有者托管于授权服务器的受保护资源,从而保证了授权访问过程的安全性。
可选地,授权请求中携带的参数包括资源拥有者标识和第三方应用标识。
可选地,处理器201执行该指令用于对资源请求者进行身份鉴权可以包括:
获取资源请求者的身份鉴权参数,并根据身份鉴权参数对资源请求者进行身份鉴权。
可选地,资源请求者的身份鉴权参数可以包括账户类型,该账户类型可以包括授权服务器200管理的账户类型、移动手机号码类型或第三方鉴权服务器管理的账户类型。
可选地,处理器201执行该指令用于获取身份鉴权参数可以包括:
通过第一终端向资源请求者提供鉴权页面获取资源请求者输入的身份鉴权参数。
可选地,若资源请求者为授权服务器200管理的用户,则资源请求者的身份鉴权参数中的账户类型为授权服务器200管理的账户类型,处理器201执行该指令用于根据身份鉴权参数对资源请求者进行身份鉴权可以包括:
获取资源请求者通过鉴权页面输入的授权服务器200管理的账户的用户标识和登录密码信息;
若获取的用户标识和登录密码信息与授权服务器200中保存的用户标识和登录密码信息的映射关系相匹配,则确定资源请求者身份鉴权通过。
可选地,若资源请求者为移动手机号码,则资源请求者的身份鉴权参数中的账户类型为移动手机号码类型。
进一步地,若资源请求者为移动手机号码,则身份鉴权参数还包括移动消息发送方式,发送方式可以包括短消息业务(Short Message Service,SMS)、多媒体消息业务(Multimedia Messaging Service,MMS)、非结构化补充数据业务(UnstructuredSupplementary Service Data,USSD)或交互式语音应答(Interactive Voice Response,IVR)。
更进一步地,若资源请求者为移动手机号码,则处理器201执行该指令用于根据身份鉴权参数对资源请求者进行身份鉴权可以包括:
获取资源请求者通过鉴权页面输入的移动手机号码;
通过SMS、MMS、USSD或IVR方式向移动手机号码发送移动消息,移动消息中携带鉴权码信息;
获取资源请求者通过鉴权页面输入的鉴权码信息;
若获取的鉴权码信息与向移动手机号码发送的鉴权码信息一致,则确定资源请求者身份鉴权通过。
可选地,若资源请求者为第三方鉴权服务器管理的用户,且第三方鉴权服务器为授权服务器200所信任,则资源请求者的身份鉴权参数中的账户类型为第三方鉴权服务器管理的账户类型,处理器201执行该指令用于根据身份鉴权参数对资源请求者进行身份鉴权可以包括:
向第三方鉴权服务器发送鉴权指令,以指示第三方鉴权服务器对资源请求者进行身份鉴权;
接收第三方鉴权服务器的发送的鉴权结果,鉴权结果包括资源请求者的第三方鉴权服务器管理的账户的用户标识以及资源请求者身份合法或不合法;
若鉴权结果中包括资源请求者身份合法,则确定资源请求者身份鉴权通过。
需要说明的是,与现有技术中的OAuth2.0支持的授权机制中资源请求者与资源拥有者是同一用户不同,本发明实施例提供的授权服务器200支持的资源请求者和资源拥有者可以不同,同时,本发明实施例中的授权服务器200还可以支持多种账户类型的资源请求者,并且可以支持多种鉴权方式,从而扩展了开放授权方法的应用范围。
可选地,处理器201执行该指令还可以用于:
若资源请求者身份鉴权通过,则记录资源请求者标识,资源请求者标识包括授权服务器200管理的账户的用户标识、移动手机号码或第三方鉴权服务器管理的账户的用户标识。
可选地,处理器201执行该指令用于确定资源拥有者是否给予资源请求者授权可以包括:
获取资源拥有者的授权信息,授权信息包括资源拥有者授权或不授权;
根据授权信息确定资源拥有者是否给予资源请求者授权。
可选地,处理器201执行该指令还可以用于设置预授权策略,预授权策略包括授权方、授权请求方和授权请求应用方的映射关系和预授权条件,预授权条件包括授权范围和/或授权门限,和/或时间限制,和/或授权次数。
可选地,处理器201执行该指令用于若资源请求者身份鉴权通过,则确定资源拥有者是否给予资源请求者授权可以包括:
在资源请求者身份鉴权通过时,记录资源请求者标识,并确定资源拥有者标识、资源请求者标识和第三方应用标识的映射关系与授权方、授权请求方和授权请求应用方的映射关系是否匹配,且是否符合预授权条件;
若是,则确定资源拥有者给予资源请求者授权;
若否,则获取资源请求者的授权信息,授权信息包括资源拥有者授权或不授权;
根据授权信息确定资源拥有者是否给予资源请求者授权。
需要说明的是,本发明实施例提供的授权服务器200可以采用预先设置预授权策略的方式,当资源拥有者、资源请求者和第三方应用的映射关系与预授权策略中授权方、授权请求方和授权请求应用方的映射关系匹配时,且满足预授权条件时,直接对资源请求者和第三方应用给予授权,从而可以在保证授权过程安全的同时,减少授权服务器与资源拥有者的交互,从而简化授权流程,使得用户体验更为简洁易用。
可选地,若资源请求者通过第一终端使用第三方应用,且第一终端为资源拥有者所信任,则处理器201执行该指令用于获取授权信息可以包括:
通过第一终端向资源拥有者提供授权页面,授权页面显示有资源请求者标识和第三方应用标识;
在资源拥有者通过授权页面合法登录后,获取资源拥有者输入的授权信息。
可选地,若资源请求者通过第一终端使用第三方应用,且第一终端不被资源拥有者信任,则处理器201执行该指令用于获取授权信息可以包括:
通过第一终端向资源拥有者提供授权页面,授权页面显示有资源请求者标识和第三方应用标识;
在资源拥有者通过第二终端连接到授权页面并合法登录后,获取资源拥有者输入的授权信息。
可选地,若资源请求者通过第一终端使用第三方应用,且第一终端不被资源拥有者信任,则处理器201执行该指令用于获取授权信息可以包括:
若资源拥有者标识绑定有移动手机号码,则向绑定的移动手机号码发送移动消息,以请求获取资源拥有者的授权信息;
接收资源拥有者通过移动手机号码回复的移动消息,以获取移动消息中携带的资源拥有者的授权信息。
需要说明的是,本发明实施例提供的授权服务器200可以支持资源拥有者通过多种方式给予授权,因而扩展了开放授权方法的应用范围。
本发明实施例提供一种授权服务器200,该授权服务器200在接收到资源请求者请求通过第三方应用访问资源拥有者托管于授权服务器200的受保护资源的授权请求后,对资源请求者进行身份鉴权,在鉴权通过且资源拥有者给予资源请求者授权后,资源请求者可以通过第三方应用访问资源拥有者托管于授权服务器200的资源。因而,可以在授权过程中避免将资源拥有者的用户名、密码等敏感信息提供给第三方应用,即第三方应用无需触及资源拥有者的敏感信息就可以申请并获得授权,从而保护了资源拥有者的用户敏感信息,使得授权过程安全可靠,因而能够解决现有技术中的授权机制不能支持用户授权其他用户通过第三方应用安全访问自己托管于授权服务器200的受保护资源的问题。
实施例2
本发明实施例提供一种图1所示的网络架构图中承载第三方应用的终端300,参见图3,终端300可以包括发送器301、接收器302、存储器303、总线304,其中,存储器303用于存储指令和数据;总线304用于连接发送器301、接收器302和存储器303;发送器301执行该指令可以用于当资源请求者通过终端300使用第三方应用并请求访问资源拥有者托管于授权服务器的资源时,向授权服务器发送授权请求,授权请求中携带的参数包括资源拥有者标识和第三方应用标识;接收器302执行该指令可以用于接收授权服务器发送的授权指令,以使得资源请求者通过第三方应用访问资源拥有者托管于授权服务器的资源。
其中,这里的终端300可以为承载第三方应用的用户设备,例如,第三方应用可以包括APP应用、Web应用等,终端300可以为手机、ipad等职能移动终端以及计算机设备等。
本发明实施例提供一种终端300,当资源请求者通过该终端300使用第三方应用并请求访问资源拥有者托管于授权服务器的资源时,终端300向授权服务器发送携带有资源拥有者标识的授权请求,从而将资源拥有者的身份通知给授权服务器,以便于授权服务器向资源拥有者确定是否给予资源请求者授权;并在资源拥有者给予授权后接收授权服务器发送的授权指令,以使得资源请求者在授权后可以通过第三方应用访问资源拥有者托管于授权服务器的受保护资源,从而在授权过程中避免了将资源拥有者的用户名、密码等用户敏感信息提供给第三方应用,即第三方无需触及资源拥有者的敏感信息就可以申请并获得授权,从而保护了资源用户者的敏感信息,使得授权过程安全可靠,因而能够解决现有技术中的授权机制不能支持用户授权其他用户通过第三方应用安全访问自己托管于授权服务器的受保护资源的问题。
实施例3
本发明实施例提供一种授权方法,可以应用于如图2所示结构的托管用户资源的授权服务器,参见图4,主要步骤可以包括:
401、授权服务器接收资源请求者通过第一终端发送的授权请求,授权请求用于资源请求者通过第一终端使用第三方应用时请求访问资源拥有者托管于授权服务器的资源。
这里的授权服务器为托管用户资源的服务器,终端为承载第三方应用的用户设备,例如,对APP形式的第三方应用来说,终端可以为手机、ipad等智能移动终端,对Web形式的第三方应用来说,终端可以是计算机终端等。当资源请求者在使用第三方应用时请求访问资源拥有者托管于授权服务器的受保护资源时,第一终端向授权服务器发送授权请求,以请求授权服务器对资源请求者和第三方应用给予授权。
当资源请求者在使用第三方应用时请求访问资源拥有者的托管于授权服务器的受保护资源时,资源请求者可以通过第三方应用和第一终端向授权服务器发送授权请求,以请求授权服务器授权资源请求者通过第三方应用访问资源拥有者托管于授权服务器的资源。其中,授权请求中携带的参数可以包括资源拥有者标识和第三方应用标识(Client_id)。资源拥有者标识可以用于标识资源拥有者的身份,具体与授权服务器管理的账户的具体形式有关,例如资源拥有者标识可以为移动手机号码或者用户名信息等。第三方应用标识是授权服务器分配的标识码,用来标识第三方应用的身份,例如第三方应用标识可以是身份标识号(Identification,ID)等。通过授权请求将资源拥有者标识和第三方应用标识发送给授权服务器,可以将第三方应用的身份和资源拥有者的身份通知给授权服务器,并通过授权服务器将第三方应用的身份通知给资源拥有者,以便于资源拥有者决定是否对该第三方应用给予授权。
当然,授权请求中还可以携带其它参数信息,例如第三方应用的重定向URI(Redirect_uri)、授权类型(Response_type)、申请的权限范围(Scope)以及第三方应用的状态(State)等,这里不做限定。其中,第三方应用的重定向URI可以使得授权服务器在资源拥有者给予授权后重定向至第三方应用的指定地址,从而使得资源请求者可以通过第三方应用访问资源拥有者的资源;授权类型可以为Code,表示通过授权码进行授权;权限范围可以为申请访问的资源的范围;第三方应用的状态可以第三方应用的当前状态,可以指定为任意值,具体可以参见OAuth2.0的描述。
在接收到授权请求之后,与OAuth2.0类似,授权服务器还可以产生事务标识,用以在授权过程中标记当前的授权事件,具体可以参考现有技术中的相关描述。
402、授权服务器对资源请求者进行身份鉴权。
授权服务器在对资源请求者进行授权之前,首先需要对资源请求者进行身份鉴权以确定资源请求者的身份是否合法,只有在资源请求者身份鉴权通过后,授权服务器才会确定资源拥有者是否给予授权。
403、若资源请求者身份鉴权通过,则授权服务器确定资源拥有者是否给予资源请求者授权。
在资源请求者身份鉴权通过后,授权服务器需要进一步确定资源拥有者是否给予资源请求者授权,并在确定资源拥有者给予授权之后才能进行授权。
需要说明的是,在资源请求者身份鉴权通过后,授权服务器确定资源拥有者是否给予授权之前,还可以记录资源请求者标识,以便于在在资源请求者鉴权通过后,把资源请求者的信息也传递给资源拥有者,提示资源拥有者是否向资源请求者通过该第三方应用的访问授权。
404、若资源拥有者给予资源请求者授权,则授权服务器向第一终端发送授权指令,以使得资源请求者通过第三方应用访问资源拥有者托管于授权服务器的资源。
在确定资源拥有者给予授权后,授权服务器可以向第一终端发送授权指令,以对资源请求者和第三方应用进行授权,使得资源请求者在获得授权后可以通过第三方应用访问资源拥有者的托管于授权服务器的受保护资源。
可见,在上述授权过程中,第三方应用在未触及到资源拥有者的用户名、登录密码等用户敏感信息的前提下,获得了授权,使得资源请求者在授权后可以通过该第三方应用安全访问资源拥有者托管于授权服务器的受保护资源,从而保证了授权访问过程的安全性。
本发明实施例提供一种授权方法,授权服务器在接收到资源请求者请求通过第三方应用访问资源拥有者托管于授权服务器的受保护资源的授权请求后,对资源请求者进行身份鉴权,在鉴权通过且资源拥有者给予资源请求者授权后,资源请求者可以通过第三方应用访问资源拥有者托管于授权服务器的资源。因而,可以在授权过程中避免将资源拥有者的用户名、密码等敏感信息提供给第三方应用,即第三方应用无需触及资源拥有者的敏感信息就可以申请并获得授权,从而保护了资源拥有者的用户敏感信息,使得授权过程安全可靠,因而能够解决现有技术中的授权机制不能支持用户授权其他用户通过第三方应用安全访问自己托管于授权服务器的受保护资源的问题。
实施例4
本发明实施例提供一种授权方法,可以应用于如图2所示结构的托管用户资源的授权服务器,参见图5,该方法主要可以包括以下步骤:
501、授权服务器接收资源请求者通过第一终端发送的授权请求,授权请求用于资源请求者通过第一终端使用第三方应用时请求访问资源拥有者托管于授权服务器的资源。
其中,资源请求者可以通过第一终端使用第三方应用,第三方应用可以通过第一终端向授权服务器发送授权请求。
步骤501的具体描述可以参见实施例3中的步骤401。
502、授权服务器获取资源请求者的身份鉴权参数。
资源请求者的身份鉴权参数用以表明资源请求者的身份,授权服务器可以根据该身份鉴权参数确定可以采用的具体鉴权形式。可选地,资源请求者的身份鉴权参数可以包括账户类型,账户类型可以包括授权服务器管理的账户类型、移动手机号码类型或第三方鉴权服务器管理的账户类型。当然,资源请求者的鉴权参数还可以包括其它参数,或者采用其它描述方式来表明资源请求者的身份,这里不做限定。
示例性的,参见图6a,授权服务器可以通过第一终端向资源请求者提供鉴权页面获取资源请求者输入的身份鉴权参数。其中,身份鉴权参数中的账户类型还可以设置有默认值,例如默认为授权服务器管理的账户类型。第三方鉴权服务器管理的账户类型具体可以包括多种账户类型,例如微信账户类型、QQ账户类型等。
具体的,授权服务器还可以将上述资源请求者身份鉴权参数中的具体参数转换成对应标识以进行识别。例如,授权服务器管理的账户类型可以对应数字标识0;移动手机号码类型可以对应数字标识1;不同第三方鉴权服务器管理的账户可以对应大于1的数字标识,比如:微信账户类型可以对应数字标识2,QQ账户类型可以对应数字标识3等。
同时,授权服务器还可以将事务标识或其它上下文信息包含在鉴权页面的地址链接中,或者将鉴权页面的地址链接与授权服务器中保存的上下文信息之间建立映射关系,以使得当前进行的鉴权操作与授权事件相对应。
当然,通过鉴权页面获取资源请求者的身份鉴权参数仅是举例说明,也可以采用其它方法,这里不做限定。
根据资源请求者的账户类型不同,本发明实施例提供的授权方法至少可以应用于以下三种场景:场景1,即资源请求者为授权服务器管理的用户的场景;场景2,即资源请求者为移动手机号码的场景;场景3,即资源请求者为第三方鉴权服务器管理的用户的场景。
对于场景1,若资源请求者为授权服务器管理的用户,则资源请求者的身份鉴权参数中的账户类型为授权服务器管理的账户类型。
对于场景2,若资源请求者为移动手机号码,则资源请求者的身份鉴权参数中的账户类型为移动手机号码类型。
此外,在场景2中,资源请求者的身份鉴权参数还可以包括移动消息发送方式,发送方式可以包括短消息业务SMS、多媒体消息业务MMS、非结构化补充数据业务USSD或交互式语音应答IVR。资源请求者可以选择其中一种作为移动消息中鉴权码信息的发送方式,若资源请求者不进行设定,则移动消息可以通过默认方式发送,例如默认的发送方式可以为SMS。当然,这里的移动消息发送方式还可以包括其它方式,这里不做限定。
对于场景3,若资源请求者为第三方鉴权服务器管理的用户,且第三方鉴权服务器为授权服务器所信任,则资源请求者的身份鉴权参数中的账户类型为第三方鉴权服务器管理的账户类型。
503、授权服务器根据身份鉴权参数对资源请求者进行身份鉴权。
具体的,步骤502中的场景不同,本步骤的具体实现方式也不同,示例性的:
对于场景1,参见图7,步骤503具体可以包括:
701、授权服务器获取资源请求者通过鉴权页面输入的授权服务器管理的账户的用户标识和登录密码信息。
702、若授权服务器获取的用户标识和登录密码信息与授权服务器中保存的用户标识和登录密码信息的映射关系相匹配,则确定资源请求者身份鉴权通过。
当资源请求者为授权服务器管理的用户时,授权服务器通过鉴权页面获取资源请求者身份鉴权参数的鉴权页面可以参见图6b,其中,账户类型可以为授权服务器管理的账户类型,该账户类型默认的鉴权信息类型可以为登录密码信息,其中的鉴权信息是授权服务器用以对资源请求者的身份进行鉴权的一个重要依据。具体的,授权服务器可以在步骤701中通过图6b所示的鉴权页面获取资源请求者输入的授权服务器管理的账户的用户标识以及登录密码信息,这里的资源请求者对应的授权服务器管理的账户的用户标识可以作为资源请求者标识,这里的用户标识可以为用户名信息。而后,授权服务器可以在步骤702中将获取的用户标识和登录密码信息与授权服务器中预先保存的用户标识和登录密码信息的映射关系进行匹配比较;若授权服务器确定匹配,则表明资源请求者是授权服务器管理的合法用户,因而资源请求者的身份鉴权通过,否则资源请求者的身份鉴权不通过。而且,在图6b所示的鉴权页面中还可以包括“忘记密码”、“注册新账号”、“意见反馈”等常规选项。此外,也可以不将登录密码信息设置为授权服务器管理的账户类型的默认鉴权信息类型,而可以通过第一终端获取资源请求者确定的鉴权信息类型。示例性的,授权服务器提供的鉴权页面中可以包括鉴权信息类型的选项,资源请求者可以根据需要选择具体的鉴权信息类型,例如当账户类型为授权服务器管理的账户类型时,可以选择登录密码信息为鉴权信息类型。
对于场景2,参见图8,步骤503具体可以包括:
801、授权服务器获取资源请求者通过鉴权页面输入的移动手机号码。
802、授权服务器通过SMS、MMS、USSD或IVR方式向移动手机号码发送移动消息,移动消息中携带鉴权码信息。
803、授权服务器获取资源请求者通过鉴权页面输入的鉴权码信息。
804、若授权服务器获取的鉴权码信息与向移动手机号码发送的鉴权码信息一致,则确定资源请求者身份鉴权通过。
当资源请求者为移动手机号码时,授权服务器通过鉴权页面获取资源请求者身份鉴权参数的鉴权页面可以参见图6c,其中,账户类型可以为移动手机号码类型,该账户类型默认的鉴权信息类型可以为鉴权码信息类型。具体的,授权服务器可以在步骤801中通过鉴权页面获得资源请求者输入的移动手机号码,这里的移动手机号码可以作为资源请求者标识。在输入移动手机号码后,资源请求者可以点击获取授权码,以通知授权服务器向输入的移动手机号码发送鉴权码信息。因而,授权服务器可以在步骤802中通过SMS、MMS、USSD或IVR方式将携带鉴权码信息的移动消息发送给移动手机号码,这里的鉴权码信息可以是授权服务器设置的一串数字、字母、字符等信息。进而,资源请求者可以将手机接收到的鉴权码信息输入鉴权页面,授权服务器可以在步骤803中通过鉴权页面获取资源请求者输入的鉴权码信息,并在步骤804中确定鉴权码信息与向移动手机号码发送的鉴权码信息是否一致,若一致则确定资源请求者身份鉴权通过,否则资源请求者身份鉴权不通过。当然,也可以不将授权码设置为移动手机号码类型的默认鉴权信息类型,而可以通过第一终端获取资源请求者确定的鉴权信息类型。示例性的,授权服务器提供的鉴权页面中可以包括鉴权信息类型的选项,例如当账户类型为移动手机号码类型时,资源请求者可以选择移动手机号码作为鉴权信息类型。
对于场景3,参见图9,步骤503具体可以包括:
901、授权服务器向第三方鉴权服务器发送鉴权指令,以指示第三方鉴权服务器对资源请求者进行身份鉴权。
902、授权服务器接收第三方鉴权服务器的发送的鉴权结果,鉴权结果包括资源请求者的第三方鉴权服务器管理的账户的用户标识以及资源请求者身份合法或不合法。
903、若鉴权结果中包括资源请求者身份合法,则授权服务器确定资源请求者身份鉴权通过。
当资源请求者为第三方鉴权服务器管理的用户且第三方鉴权服务器为授权服务器所信任时,授权服务器通过鉴权页面获取资源请求者身份鉴权参数的鉴权页面可以参见图6d,其中的账户类型可以选择第三方鉴权服务器管理的账户类型,这里的鉴权信息是第三方鉴权服务器对资源请求者进行身份鉴权的一个重要依据,鉴权信息类型具体与第三方鉴权服务器管理的账户类型有关。授权服务器可以通过与第三方鉴权服务器的接口向第三方鉴权服务器发送鉴权指令,以指示第三方鉴权服务器代为鉴权资源请求者的身份。在接收到鉴权指令后,第三方鉴权服务器可以获取资源请求者第三方鉴权服务器管理的账户的用户标识以及对应的鉴权信息,并根据用户标识和鉴权信息确定资源请求者是否鉴权通过。其中,这里的第三方鉴权服务器管理的账户的用户标识可以作为资源请求者标识。而后,授权服务器可以通过步骤902中接收第三方鉴权服务器的发送的包括资源请求者身份合法或不合法的鉴权结果,并在步骤903中确定资源请求者身份是否合法。
示例性的,当资源请求者的第三方鉴权服务器管理的账户为微信账户时,微信账户的用户标识可以为用户名信息,鉴权信息类型可以为登录密码信息类型时,微信的鉴权服务器在接收到授权服务器发送的鉴权指令后,可以通过第一终端向资源请求者提供鉴权页面(例如图6e所示的页面)获取资源请求者的微信用户名信息和登录密码信息,从而对资源请求者进行身份鉴权,以确定资源请求者身份是否合法,并将鉴权结果通知给授权服务器。其中,这里的微信用户名信息可以作为资源请求者标识。授权服务器在接收到微信鉴权服务器发送的鉴权结果后,可以调用与微信鉴权服务器的接口,向微信鉴权服务器发起确认请求,以确认资源请求者的身份是否合法,在接收到第三方鉴权服务器的确认响应后,授权服务器确定资源请求者身份鉴权通过。此外,授权服务器与微信鉴权服务器交互的信息参数还可能包括其它参数,具体可以参见OAuth2.0。
需要说明的是,本发明实施例是以第三方鉴权服务器管理的账户类型为微信账户类型,用户标识为用户名信息且鉴权信息类型为登录密码信息类型为例进行说明的,当第三方鉴权服务器管理的账户类型为其它类型时,用户标识和鉴权信息类型也可以为其它信息,这里不做限定。例如,微信账户类型的用户标识还可以为移动手机号码,鉴权信息类型还可以为微信鉴权服务器发送的鉴权码信息类型。当然,微信鉴权服务器还可以通过二维码方式对资源请求者的微信账户进行身份鉴权,这里不再赘述。
由步骤502和步骤503可知,与现有技术中的OAuth2.0支持的授权机制中资源请求者与资源拥有者是同一用户不同,本发明实施例提供的授权方法中资源请求者和资源拥有者可以不同,同时本发明实施例提供的授权方法还扩展了资源请求者的类型范围,并且可以支持多种鉴权方式,从而扩展了开放授权方法的应用范围。
504、若资源请求者身份鉴权通过,则授权服务器记录资源请求者标识,资源请求者标识包括授权服务器管理的账户的用户标识、移动手机号码或第三方鉴权服务器管理的账户的用户标识。
在资源请求者身份鉴权通过后,授权服务器需要记录资源请求者标识,从而可以将资源请求者标识通知给资源拥有者,以便于资源拥有者考虑是否给予资源请求者进行授权。这里的资源请求者标识可以包括授权服务器管理的账户的用户标识、移动手机号码、第三方鉴权服务器管理的账户的用户标识等。
505、授权服务器获取资源拥有者的授权信息,授权信息包括资源拥有者授权或不授权。
在资源请求者身份鉴权通过后,授权服务器需要获取资源拥有者确定是否给予授权的授权信息,从而确定是否对资源请求者和第三方应用给予授权。
资源拥有者的授权信息中可以包括资源拥有者授权或不授权,还可以包括授权范围,以及其它一些相关授权信息。其中,授权范围可以用于限定资源拥有者允许资源请求者通过第三方应用访问的资源信息的具体范围,因而可以有选择地开放资源拥有者的部分资源,保护资源拥有者不想被访问的部分资源,从而能够更加方便且安全地管理资源拥有者的资源。举例来说,当老年人(资源拥有者)在医疗监测托管于授权服务器的生理监控信息(资源)通过健康监护软件(第三方应用)授权给健康顾问(资源请求者)时,可以指定仅允许健康顾问访问其血压监控信息,而保护其它指标的监控信息;也可以指定允许健康顾问访问其全部生理指标的监控信息。
当资源请求者通过第一终端使用第三方应用时,根据第一终端是否被资源拥有者信任,本步骤具体可以包括以下几种可能的实现方式:
第1种可能的实现方式:若资源请求者通过第一终端使用第三方应用,且第一终端为资源拥有者所信任,则示例性的,参见图10,步骤504具体可以包括:
1001、授权服务器通过第一终端向资源拥有者提供授权页面,授权页面显示有资源请求者标识和第三方应用标识。
1002、在资源拥有者通过授权页面合法登录后,授权服务器获取资源拥有者输入的授权信息。
其中,授权服务器通过授权页面将资源请求者标识和第三方应用标识通知给资源拥有者,以便于资源拥有者考虑是否对该资源请求者和该第三方应用给予授权。由于在该种情况下,资源拥有者是授权服务器管理的合法用户,因而可以直接通过授权服务器提供的授权页面合法登陆并输入授权信息。此外,为了方便起见,授权服务器还可以直接在授权页面上提供从授权请求中获取的资源拥有者标识,例如提供授权服务器管理的资源拥有者的用户名,资源拥有者只需要输入相应的登陆密码即可合法登陆。其中,授权服务器提供的授权页面的示意图可以参见图11。
需要说明的是,第1种可能的实现方式还可以应用授权请求中未携带资源拥有者标识的情况,此时,授权服务器在展现授权页面时无法提供资源拥有者标识,需要资源拥有者自行输入资源拥有者标识(例如用户名信息),并通过正确输入登录密码进行合法登录。
当授权服务器向资源拥有者提供授权页面时,还可以将事务标识或其它上下文信息包含在授权页面的地址链接中,或者将鉴权页面的地址链接与授权服务器中保存的上下文信息之间建立映射关系,以使得当前进行的授权操作与授权事件相对应。
第2种可能的实现方式:若资源请求者通过第一终端使用第三方应用,且第一终端不被资源拥有者信任,则示例性的,参见图12,步骤504具体可以包括:
1201、授权服务器通过第一终端向资源拥有者提供授权页面,授权页面显示有资源请求者标识和第三方应用标识。
1202、在资源拥有者通过第二终端连接到授权页面并合法登录后,授权服务器获取资源拥有者输入的授权信息。
当授权服务器通过第一终端向资源拥有者提供授权页面以获取资源拥有者的授权信息时,若第一终端不被资源拥有者信任,则资源拥有者可以采用复制链接、二维码或其它方式,通过第二终端连接到授权服务器提供的授权页面进行合法登录,并输入是否给予授权以及授权范围,以使得授权服务器可以通过第二终端获取资源拥有者输入的授权信息。
需要说明的是,与第1种可能的实现方式类似,在第2种可能的实现方式中,在授权请求中携带资源拥有者标识的情况下,授权服务器在展现授权页面时可以直接提供资源拥有者标识;而在授权请求中未携带资源拥有者标识的情况下,授权服务器在展现授权页面时无法直接提供资源拥有者标识,需要资源拥有者自行输入资源拥有者标识(例如用户名信息)。
第3种可能的实现方式:若资源请求者通过第一终端使用第三方应用,且第一终端不被资源拥有者信任,则示例性的,参见图13,步骤504具体可以包括:
1301、若资源拥有者标识绑定有移动手机号码,则授权服务器向绑定的移动手机号码发送移动消息,以请求获取资源拥有者的授权信息。
1302、授权服务器资源拥有者通过移动手机号码回复的移动消息,以获取移动消息中携带的资源拥有者的授权信息。
当第一终端不被资源拥有者信任时,还可以通过资源拥有者标识绑定的移动手机号码(或者资源拥有者标识本身就为移动手机号码)进行授权,以保证授权过程的安全性。具体的,当第一终端不被资源拥有者信任,且授权服务器中保存有资源拥有者绑定的移动手机号码时,授权服务器可以向该移动手机号码发送移动消息,以请求获取资源拥有者的授权信息。当然,这里的移动消息发送方式也可以包括SMS、MMS、USSD或IVR等多种,本发明实施例不做限定。
示例性的,授权服务器通过短信发送的移动消息内容可以为:用户A请求通过健康监护软件访问您医疗监测的资源服务器中的生理指标监控信息,请问是否给予授权?不授权回复0,授权全部生理指标的监控信息回复1,仅授权访问血压指标监控信息回复2。资源拥有者通过移动手机接收到授权服务器发送的移动消息之后,向将授权信息通过回复移动消息的方式发送给授权服务器。
需要说明的是,由于资源拥有者通过发送移动消息进行授权的方式时效性较差,不能保证及时向授权服务器发送授权消息,因而资源请求者在获知到资源拥有者已经向授权服务器发送授权信息后,可以向授权服务器发送授权确认消息,以确认授权服务器是否获取到资源请求者发送的授权信息。
由步骤505可知,本发明实施例提供的授权方法可以支持资源拥有者通过多种方式给予授权,因而扩展了开放授权方法的应用范围。
506、授权服务器根据授权信息确定资源拥有者是否给予资源请求者授权。
由于授权信息中包括有资源拥有者授权或不授权的信息,因而根据授权服务器获取的授权信息可以确定资源拥有者是否对资源请求者和第三方应用给予授权。
507、若资源拥有者给予资源请求者授权,则授权服务器向第一终端发送授权指令,以使得资源请求者通过第三方应用访问资源拥有者托管于授权服务器的资源。
具体的,步骤507可以包括:
(1)、授权服务器根据重定向URI回调至第三方应用的指定地址,并向第一终端发送授权指令,授权指令携带授权码。
(2)、授权服务器接收第一终端发送的访问令牌请求消息,并对访问令牌请求消息中携带的参数进行校验,参数包括重定向URI和授权码。
(3)、若校验通过,则授权服务器向第一终端发送应答消息,应答消息包括访问令牌和更新令牌,以使得资源请求者根据访问令牌和更新令牌通过第三方应用访问资源拥有者托管于授权服务器的资源,授权服务器在对访问令牌请求消息中的参数校验通过后,向第一终端发送访问令牌和更新令牌,以使得资源请求者以获得的访问令牌和更新令牌为凭证并通过第三方应用访问资源拥有者托管于授权服务器的受保护资源。
其中,与OAuth2.0类似,访问令牌请求消息中还可以包括授权模式、资源请求者标识以及第三方应用标识等。步骤507的具体描述可以参见现有技术中OAuth2.0的相关内容,这里不再赘述。
本发明实施例提供一种授权方法,授权服务器在接收到资源请求者请求通过第三方应用访问资源拥有者托管于授权服务器的受保护资源的授权请求后,对资源请求者进行身份鉴权,在鉴权通过且资源拥有者给予资源请求者授权后,资源请求者可以通过第三方应用访问资源拥有者托管于授权服务器的资源。因而,可以在授权过程中避免将资源拥有者的用户名、密码等敏感信息提供给第三方应用,即第三方应用无需触及资源拥有者的敏感信息就可以申请并获得授权,从而保护了资源拥有者的用户敏感信息,使得授权过程安全可靠,因而能够解决现有技术中的授权机制不能支持用户授权其他用户通过第三方应用安全访问自己托管于授权服务器的受保护资源的问题。
实施例5
本发明实施例提供一种授权方法,可以应用于如图2所示结构的托管用户资源的授权服务器,参见图14,该方法主要可以包括:
1401、授权服务器设置预授权策略,预授权策略包括授权方、授权请求方和授权请求应用方的映射关系和预授权条件,预授权条件包括授权范围和/或授权门限,和/或时间限制,和/或授权次数。
授权服务器可以采用预先设置预授权策略的方式,当资源拥有者、资源请求者和第三方应用的映射关系与预授权策略中授权方、授权请求方和授权请求应用方的映射关系匹配时,且满足预授权条件时,可以直接对资源请求者和第三方应用给予授权,从而可以在保证授权过程安全的同时,减少授权服务器与资源拥有者的交互,从而简化授权流程,使得用户体验更为简洁易用。
其中,授权方可以包括授权用户的用户标识,授权请求方可以包括请求授权的用户的用户标识,授权请求应用方可以包括请求授权的第三方应用的标识。预授权条件可以包括但不限于授权范围、授权门限、时间限制以及授权次数中的至少一个。示例性的,本发明实施例提供的一种预授权策略可以参见表1:
表1
1402、授权服务器接收第一终端发送的授权请求,授权请求用于资源请求者通过第一终端使用第三方应用时请求访问资源拥有者托管于授权服务器的资源。
1403、授权服务器获取资源请求者的身份鉴权参数。
1404、授权服务器根据身份鉴权参数对资源请求者进行身份鉴权。
其中,步骤1402-1404的具体描述可以参见步骤501-503,这里不再赘述。
1405、在资源请求者身份鉴权通过时,授权服务器记录资源请求者标识,并确定资源拥有者标识、资源请求者标识和第三方应用标识的映射关系与授权方、授权请求方和授权请求第三方的映射关系是否匹配,且是否符合预授权条件,而后进入步骤1406或步骤1407。
1406、若是,则授权服务器确定资源拥有者给予资源请求者授权,而后进入步骤1409。
若资源请求者标识为移动手机号码13900000001,请求第3次通过夕阳红(第三方应用标识)访问资源拥有者标识为D123456的全部生理指标的监控信息时,则以表1中的预授权策略为例,D123456、13900000001和夕阳红与预授权策略中授权方、授权请求方和授权请求应用方的映射关系匹配,且满足预授权条件,因而符合预授权策略,可以直接确定资源拥有者给予授权。
1407、若否,则授权服务器获取资源请求者的授权信息,授权信息包括资源拥有者授权或不授权,而后进入步骤1408。
若移动手机号码13900000001请求第4次通过夕阳红访问资源拥有者D123456的全部生理指标的监控信息,则由于不满足预授权条件中的授权次数,因而不符合预授权策略,不能直接确定资源拥有者给予授权,而需要获取资源请求者的授权信息,以根据授权信息确定资源拥有者是否给予授权。
具体的,步骤1407中授权服务器获取资源拥有者的授权信息的过程可以参见步骤505中的描述。
1408、授权服务器根据授权信息确定资源拥有者是否给予资源请求者授权。
1409、若资源拥有者确定给予资源请求者授权,则授权服务器向第一终端发送授权指令,以使得资源请求者通过第三方应用访问资源拥有者托管于授权服务器的资源。
其中,步骤1409的具体描述可以参见步骤507,这里不再进行详细描述。
本发明实施例提供一种授权方法,授权服务器在接收到资源请求者请求通过第三方应用访问资源拥有者托管于授权服务器的受保护资源的授权请求后,对资源请求者进行身份鉴权,在鉴权通过且资源拥有者给予资源请求者授权后,资源请求者可以通过第三方应用访问资源拥有者托管于授权服务器的资源。因而,可以在授权过程中避免将资源拥有者的用户名、密码等敏感信息提供给第三方应用,即第三方应用无需触及资源拥有者的敏感信息就可以申请并获得授权,从而保护了资源拥有者的用户敏感信息,使得授权过程安全可靠,因而能够解决现有技术中的授权机制不能支持用户授权其他用户通过第三方应用安全访问自己托管于授权服务器的受保护资源的问题。
实施例6
本发明实施例提供一种授权方法,可以应用于如图3所示结构的承载第三方应用的终端,参见图15,可以包括以下主要步骤:
1501、当资源请求者通过终端使用第三方应用并请求访问资源拥有者托管于授权服务器的资源时,终端向授权服务器发送授权请求,授权请求携带中携带的参数包括资源拥有者标识和第三方应用标识。
这里的终端可以为承载第三方应用的用户设备,例如计算机终端、智能移动终端等。当资源请求者在使用第三方应用时请求访问资源拥有者托管于授权服务器的受保护资源时,第三方应用可以通过终端向授权服务器发送授权请求,以请求授权服务器对资源拥有者和第三方应用给予授权。授权请求中还可以包括其它参数信息,例如申请的权限范围以及第三方应用的状态等,具体描述可以参见OAuth2.0。其中,通过授权请求将资源拥有者标识和第三方应用标识发送给授权服务器,可以将第三方应用的身份和资源拥有者的身份通知给授权服务器,并通过授权服务器将第三方应用的身份通知给资源拥有者,以便于资源拥有者决定是否对该第三方应用给予授权。当然授权请求中还可以包括其它参数,具体可以参见上述实施例中的描述。
1502、终端接收授权服务器发送的授权指令,以使得资源请求者通过第三方应用访问资源拥有者托管于授权服务器的资源。
授权服务器在资源请求者身份鉴权通过且资源拥有者给予授权后,向终端发送授权指令,终端在接收到授权服务器发送的授权指令后,根据该授权指令使得资源请求者通过第三方应用访问资源拥有者的托管于授权服务器的资源。
其中,步骤1502具体可以包括:终端接收授权服务器发送的授权指令,授权指令中携带授权码,而后向授权服务器发送令牌请求消息,令牌请求消息中携带有第三方应用的重定向URI和授权码,进而接收授权服务器发送的访问令牌和更新令牌,以使得资源请求者以访问令牌和更新令牌为凭证通过第三方应用访问资源拥有者托管于授权服务器的资源。步骤1502的具体实现方式可以参见OAuth2.0,这里不再赘述。
本发明实施例提供一种授权方法,当资源请求者通过终端使用第三方应用并请求访问资源拥有者托管于授权服务器的资源时,终端向授权服务器发送携带有资源拥有者标识的授权请求,从而将资源拥有者的身份通知给授权服务器,以便于授权服务器向资源拥有者确定是否给予资源请求者授权;并在资源拥有者给予授权后接收授权服务器发送的授权指令,以使得资源请求者在授权后可以通过第三方应用访问资源拥有者托管于授权服务器的受保护资源,从而在授权过程中避免了将资源拥有者的用户名、密码等用户敏感信息提供给第三方应用,即第三方无需触及资源拥有者的敏感信息就可以申请并获得授权,从而保护了资源用户者的敏感信息,使得授权过程安全可靠,因而能够解决现有技术中的授权机制不能支持用户授权其他用户通过第三方应用安全访问自己托管于授权服务器的受保护资源的问题。
实施例7
本发明实施例提供一种托管用户资源的授权服务器1600,参见图16,授权服务器1600的结构可以包括:
接收单元1601,用于接收资源请求者通过第一终端发送的授权请求,授权请求用于资源请求者通过第一终端使用第三方应用时请求访问资源拥有者托管于授权服务器1600的资源;
鉴权单元1602,可以用于对资源请求者进行身份鉴权;
确定单元1603,可以用于若资源请求者身份鉴权通过,则确定资源拥有者是否给予资源请求者授权;
发送单元1604,可以用于若资源拥有者给予授权,则向第一终端发送授权指令,以使得资源请求者通过第三方应用访问资源拥有者托管于授权服务器1600的资源。
需要说明的是,本发明实施例提供的授权服务器1600,可以在保证第三方应用未触及到资源拥有者的用户名、登录密码等用户敏感信息的前提下给予资源请求者授权,使得资源请求者在授权后可以通过该第三方应用安全访问资源拥有者托管于授权服务器的受保护资源,从而保证了授权访问过程的安全性。
可选地,授权请求中携带的参数可以包括资源拥有者标识和第三方应用标识。
可选地,鉴权单元1602可以具体用于:
获取资源请求者的身份鉴权参数,并根据身份鉴权参数对资源请求者进行身份鉴权。
可选地,资源请求者的身份鉴权参数可以包括账户类型,账户类型包括授权服务器1600管理的账户类型、移动手机号码类型或第三方鉴权服务器管理的账户类型。
可选地,鉴权单元1602可以具体用于:
通过第一终端向资源请求者提供鉴权页面获取资源请求者输入的身份鉴权参数。
可选地,若资源请求者为授权服务器1600管理的用户,则资源请求者的身份鉴权参数中的账户类型为授权服务器1600管理的账户类型;
若资源请求者为移动手机号码,则资源请求者的身份鉴权参数中的账户类型为移动手机号码类型;
若资源请求者为第三方鉴权服务器管理的用户,且第三方鉴权服务器为授权服务器1600所信任,则资源请求者的身份鉴权参数中的账户类型为第三方鉴权服务器管理的账户类型。
可选地,若资源请求者为授权服务器1600管理的用户,则鉴权单元1602可以具体用于:
获取资源请求者通过鉴权页面输入的授权服务器1600管理的账户的用户标识和登录密码信息;
若获取的用户标识和登录密码信息与授权服务器1600中保存的用户标识和登录密码信息的映射关系相匹配,则确定资源请求者身份鉴权通过。
进一步地,若资源请求者为移动手机号码,则身份鉴权参数还可以包括移动消息发送方式,发送方式包括短消息业务SMS、多媒体消息业务MMS、非结构化补充数据业务USSD或交互式语音应答IVR。
若资源请求者为移动手机号码,则鉴权单元1602可以具体用于:
获取资源请求者通过鉴权页面输入的移动手机号码;
通过SMS、MMS、USSD或IVR方式向移动手机号码发送移动消息,移动消息中携带鉴权码信息;
获取资源请求者通过鉴权页面输入的鉴权码信息;
若获取的鉴权码信息与向移动手机号码发送的鉴权码信息一致,则确定资源请求者身份鉴权通过。
可选地,若资源请求者为第三方鉴权服务器管理的用户,且第三方鉴权服务器为授权服务器1600所信任,则鉴权单元1602可以具体用于:
向第三方鉴权服务器发送鉴权指令,以指示第三方鉴权服务器对资源请求者进行身份鉴权;
接收第三方鉴权服务器的发送的鉴权结果,鉴权结果包括资源请求者的第三方鉴权服务器管理的账户的用户标识以及资源请求者身份合法或不合法;
若鉴权结果中包括资源请求者身份合法,则确定资源请求者身份鉴权通过。
需要说明的是,与现有技术中的OAuth2.0支持的授权机制中资源请求者与资源拥有者是同一用户不同,本发明实施例提供的授权服务器1600支持的资源请求者和资源拥有者可以不同,同时,本发明实施例中的授权服务器1600还可以支持多种账户类型的资源请求者,并且可以支持多种鉴权方式,从而扩展了开放授权方法的应用范围。
可选地,参见图17,还可以包括记录单元1605,用于若所述资源请求者身份鉴权通过,则记录所述资源请求者标识,所述资源请求者标识包括授权服务器管理的账户的用户标识、移动手机号码或第三方鉴权服务器管理的账户的用户标识。
可选地,确定单元1603可以具体用于:
获取资源拥有者的授权信息,授权信息包括资源拥有者授权或不授权;
根据授权信息确定资源拥有者是否给予资源请求者授权。
可选地,参见图18,还可以包括设置单元1606,该设置单元1606可以用于设置预授权策略,预授权策略包括授权方、授权请求方和授权请求应用方的映射关系和预授权条件,预授权条件包括授权范围和/或授权门限,和/或时间限制,和/或授权次数。
可选地,确定单元1603可以具体用于:
在资源请求者身份鉴权通过时,记录资源请求者标识,并确定资源拥有者标识、资源请求者标识和第三方应用标识的映射关系与授权方、授权请求方和授权请求应用方的映射关系是否匹配,且是否符合预授权条件;
若是,则确定资源拥有者给予资源请求者授权;
若否,则获取资源请求者的授权信息,授权信息包括资源拥有者授权或不授权;
根据授权信息确定资源拥有者是否给予资源请求者授权。
需要说明的是,本发明实施例提供的授权服务器1600可以采用预先设置预授权策略的方式,当资源拥有者、资源请求者和第三方应用的映射关系与预授权策略中授权方、授权请求方和授权请求应用方的映射关系匹配时,且满足预授权条件时,直接对资源请求者和第三方应用给予授权,从而可以在保证授权过程安全的同时,减少授权服务器与资源拥有者的交互,从而简化授权流程,使得用户体验更为简洁易用。
可选地,若资源请求者通过第一终端使用第三方应用,且第一终端为资源拥有者所信任,确定单元1603可以具体用于:
通过第一终端向资源拥有者提供授权页面,授权页面显示有资源请求者标识和第三方应用标识;
在资源拥有者通过授权页面合法登录后,获取资源拥有者输入的授权信息。
可选地,若资源请求者通过第一终端使用第三方应用,且第一终端不被资源拥有者信任,则确定单元1603可以具体用于:
通过第一终端向资源拥有者提供授权页面,授权页面显示有资源请求者标识和第三方应用标识;
在资源拥有者通过第二终端连接到授权页面并合法登录后,获取资源拥有者输入的授权信息。
可选地,若资源请求者通过第一终端使用第三方应用,且第一终端不被资源拥有者信任,则确定单元1603可以具体用于:
若资源拥有者标识绑定有移动手机号码,则向绑定的移动手机号码发送移动消息,以请求获取资源拥有者的授权信息;
接收资源拥有者通过移动手机号码回复的移动消息,以获取移动消息中携带的资源拥有者的授权信息。
需要说明的是,本发明实施例提供的授权服务器1600可以支持资源拥有者通过多种方式给予授权,因而扩展了开放授权方法的应用范围。
本发明实施例提供一种授权服务器1600,该授权服务器1600在接收到资源请求者请求通过第三方应用访问资源拥有者托管于授权服务器1600的受保护资源的授权请求后,对资源请求者进行身份鉴权,在鉴权通过且资源拥有者给予资源请求者授权后,资源请求者可以通过第三方应用访问资源拥有者托管于授权服务器1600的资源。因而,可以在授权过程中避免将资源拥有者的用户名、密码等敏感信息提供给第三方应用,即第三方应用无需触及资源拥有者的敏感信息就可以申请并获得授权,从而保护了资源拥有者的用户敏感信息,使得授权过程安全可靠,因而能够解决现有技术中的授权机制不能支持用户授权其他用户通过第三方应用安全访问自己托管于授权服务器1600的受保护资源的问题。
实施例8
本发明实施例提供一种承载第三方应用的终端1900,参见图19,终端1900的结构可以包括:
发送单元1901,可以用于当资源请求者通过终端1900使用第三方应用并请求访问资源拥有者托管于授权服务器的资源时,向授权服务器发送授权请求,授权请求中携带的参数包括资源拥有者标识和第三方应用标识;
接收单元1902,可以用于接收授权服务器发送的授权指令,以使得资源请求者通过第三方应用访问资源拥有者托管于授权服务器的资源。
其中,这里的终端1900可以为承载第三方应用的用户设备,例如计算机终端、智能移动终端等。
本发明实施例提供一种终端1900,当资源请求者通过该终端1900使用第三方应用并请求访问资源拥有者托管于授权服务器的资源时,终端1900向授权服务器发送携带有资源拥有者标识的授权请求,从而将资源拥有者的身份通知给授权服务器,以便于授权服务器向资源拥有者确定是否给予资源请求者授权;并在资源拥有者给予授权后接收授权服务器发送的授权指令,以使得资源请求者在授权后可以通过第三方应用访问资源拥有者托管于授权服务器的受保护资源,从而在授权过程中避免了将资源拥有者的用户名、密码等用户敏感信息提供给第三方应用,即第三方无需触及资源拥有者的敏感信息就可以申请并获得授权,从而保护了资源用户者的敏感信息,使得授权过程安全可靠,因而能够解决现有技术中的授权机制不能支持用户授权其他用户通过第三方应用安全访问自己托管于授权服务器的受保护资源的问题。
此外,本发明又一实施例还提供一种系统,该系统可以包括如图2、图16、图17或图18所示结构的授权服务器和如图3、图19所示结构的终端,上述实施例中通过图4-图14描述的授权方法可以应用于该授权服务器,上述实施例中通过图15描述的授权方法可以应用于该终端。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,在本发明各个实施例中的设备和系统中,各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理包括,也可以两个或两个以上单元集成在一个单元中。且上述的各单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (21)
1.一种授权方法,应用于托管用户资源的授权服务器,其特征在于,包括:
接收资源请求者通过第一终端发送的授权请求,所述授权请求中携带的参数包括资源拥有者标识和第三方应用标识,所述授权请求用于所述资源请求者通过所述第一终端使用第三方应用时请求访问所述资源拥有者托管于所述授权服务器的资源;
获取所述资源请求者的身份鉴权参数,并根据所述身份鉴权参数对所述资源请求者进行身份鉴权;
若所述资源请求者身份鉴权通过,则确定所述资源拥有者是否给予所述资源请求者授权,包括:在所述资源请求者身份鉴权通过时,确定所述资源拥有者标识、资源请求者标识和所述第三方应用标识的映射关系与授权方、授权请求方和授权请求应用方的映射关系是否匹配,且是否符合预授权条件;
若所述资源拥有者给予授权,则向所述第一终端发送授权指令,以使得所述资源请求者通过所述第三方应用访问所述资源拥有者托管于所述授权服务器的资源。
2.根据权利要求1所述的方法,其特征在于,所述资源请求者的身份鉴权参数包括账户类型,所述账户类型包括授权服务器管理的账户类型、移动手机号码类型或第三方鉴权服务器管理的账户类型。
3.根据权利要求2所述的方法,其特征在于,获取所述身份鉴权参数包括:
通过所述第一终端向所述资源请求者提供鉴权页面获取所述资源请求者输入的所述身份鉴权参数。
4.根据权利要求3所述的方法,其特征在于,若所述资源请求者为所述授权服务器管理的用户,则所述资源请求者的身份鉴权参数中的所述账户类型为所述授权服务器管理的账户类型,所述根据所述身份鉴权参数对所述资源请求者进行身份鉴权包括:
获取所述资源请求者通过所述鉴权页面输入的所述授权服务器管理的账户的用户标识和登录密码信息;
若获取的所述用户标识和所述登录密码信息与所述授权服务器中保存的用户标识和登录密码信息的映射关系相匹配,则确定所述资源请求者身份鉴权通过。
5.根据权利要求3所述的方法,其特征在于,若所述资源请求者为移动手机号码,则所述资源请求者的身份鉴权参数中的所述账户类型为移动手机号码类型。
6.根据权利要求5所述的方法,其特征在于,所述身份鉴权参数还包括移动消息发送方式,所述发送方式包括短消息业务SMS、多媒体消息业务MMS、非结构化补充数据业务USSD或交互式语音应答IVR。
7.根据权利要求6所述的方法,其特征在于,所述根据所述身份鉴权参数对所述资源请求者进行身份鉴权包括:
获取所述资源请求者通过所述鉴权页面输入的移动手机号码;
通过所述SMS、所述MMS、所述USSD或所述IVR方式向所述移动手机号码发送移动消息,所述移动消息中携带鉴权码信息;
获取所述资源请求者通过所述鉴权页面输入的鉴权码信息;
若获取的鉴权码信息与向所述移动手机号码发送的鉴权码信息一致,则确定所述资源请求者身份鉴权通过。
8.根据权利要求3所述的方法,其特征在于,若所述资源请求者为第三方鉴权服务器管理的用户,且所述第三方鉴权服务器为所述授权服务器所信任,则所述资源请求者的身份鉴权参数中的所述账户类型为第三方鉴权服务器管理的账户类型,所述根据所述身份鉴权参数对所述资源请求者进行身份鉴权包括:
向第三方鉴权服务器发送鉴权指令,以指示所述第三方鉴权服务器对所述资源请求者进行身份鉴权;
接收所述第三方鉴权服务器的发送的鉴权结果,所述鉴权结果包括所述资源请求者的第三方鉴权服务器管理的账户的用户标识以及所述资源请求者身份合法或不合法;
若所述鉴权结果中包括所述资源请求者身份合法,则确定所述资源请求者身份鉴权通过。
9.根据权利要求1-8任一项所述的方法,其特征在于,若所述资源请求者身份鉴权通过,则所述方法还包括:
记录所述资源请求者标识,所述资源请求者标识包括授权服务器管理的账户的用户标识、移动手机号码或第三方鉴权服务器管理的账户的用户标识。
10.根据权利要求1-8任一项所述的方法,其特征在于,所述确定所述资源拥有者是否给予所述资源请求者授权包括:
获取所述资源拥有者的授权信息,所述授权信息包括所述资源拥有者授权或不授权;
根据所述授权信息确定所述资源拥有者是否给予所述资源请求者授权。
11.根据权利要求1-8任一项所述的方法,其特征在于,在所述方法之前还包括:
设置预授权策略,所述预授权策略包括授权方、授权请求方和授权请求应用方的映射关系和预授权条件,所述预授权条件包括授权范围和/或授权门限,和/或时间限制,和/或授权次数。
12.根据权利要求11所述的方法,其特征在于,所述若所述资源请求者身份鉴权通过,则确定所述资源拥有者是否给予所述资源请求者授权包括:
在所述资源请求者身份鉴权通过时,记录资源请求者标识,并确定所述资源拥有者标识、所述资源请求者标识和所述第三方应用标识的映射关系与所述授权方、所述授权请求方和所述授权请求应用方的映射关系是否匹配,且是否符合所述预授权条件;
若是,则确定所述资源拥有者给予所述资源请求者授权;
若否,则获取所述资源请求者的授权信息,所述授权信息包括所述资源拥有者授权或不授权;
根据所述授权信息确定所述资源拥有者是否给予所述资源请求者授权。
13.根据权利要求10所述的方法,其特征在于,若所述资源请求者通过所述第一终端使用所述第三方应用,且所述第一终端为所述资源拥有者所信任,则所述获取授权信息包括:
通过所述第一终端向所述资源拥有者提供授权页面,所述授权页面显示有所述资源请求者标识和所述第三方应用标识;
在所述资源拥有者通过所述授权页面合法登录后,获取所述资源拥有者输入的授权信息。
14.根据权利要求10所述的方法,其特征在于,若所述资源请求者通过所述第一终端使用所述第三方应用,且所述第一终端不被所述资源拥有者信任,则所述获取授权信息包括:
通过所述第一终端向所述资源拥有者提供授权页面,所述授权页面显示有所述资源请求者标识和所述第三方应用标识;
在所述资源拥有者通过第二终端连接到所述授权页面并合法登录后,获取所述资源拥有者输入的授权信息。
15.根据权利要求10所述的方法,其特征在于,若所述资源请求者通过第一终端使用所述第三方应用,且所述第一终端不被所述资源拥有者信任,则所述获取授权信息包括:
若所述资源拥有者标识绑定有移动手机号码,则向所述绑定的移动手机号码发送移动消息,以请求获取所述资源拥有者的授权信息;
接收所述资源拥有者通过所述移动手机号码回复的移动消息,以获取所述移动消息中携带的所述资源拥有者的授权信息。
16.一种授权方法,应用于承载第三方应用的终端,其特征在于,包括:
当资源请求者通过所述终端使用所述第三方应用并请求访问资源拥有者托管于授权服务器的资源时,向所述授权服务器发送授权请求,所述授权请求中携带的参数包括资源拥有者标识和第三方应用标识;
向所述授权服务器发送所述资源请求者的身份鉴权参数,所述身份鉴权参数用于所述授权服务器根据所述身份鉴权参数对所述资源请求者进行身份鉴权;
接收所述授权服务器发送的授权指令,以使得所述资源请求者通过所述第三方应用访问所述资源拥有者托管于所述授权服务器的资源,所述授权指令为所述授权服务器确定所述资源拥有者标识、资源请求者标识和所述第三方应用标识的映射关系与授权方、授权请求方和授权请求应用方的映射关系匹配,且符合预授权条件后发送的。
17.一种授权服务器,其特征在于,包括:
接收单元,用于接收资源请求者通过第一终端发送的授权请求,所述授权请求中携带的参数包括资源拥有者标识和第三方应用标识,所述授权请求用于所述资源请求者通过所述第一终端使用所述第三方应用时请求访问所述资源拥有者托管于所述授权服务器的资源;
鉴权单元,用于获取所述资源请求者的身份鉴权参数,并根据所述身份鉴权参数对所述资源请求者进行身份鉴权;
确定单元,用于若所述资源请求者身份鉴权通过,则确定所述资源拥有者是否给予所述资源请求者授权,包括:在所述资源请求者身份鉴权通过时,确定所述资源拥有者标识、资源请求者标识和所述第三方应用标识的映射关系与授权方、授权请求方和授权请求应用方的映射关系是否匹配,且是否符合预授权条件;
发送单元,用于若所述资源拥有者给予授权,则向所述第一终端发送授权指令,以使得所述资源请求者通过所述第三方应用访问所述资源拥有者托管于所述授权服务器的资源。
18.根据权利要求17所述的授权服务器,其特征在于,所述资源请求者的身份鉴权参数包括账户类型,所述账户类型包括授权服务器管理的账户类型、移动手机号码类型或第三方鉴权服务器管理的账户类型。
19.根据权利要求18所述的授权服务器,其特征在于,所述鉴权单元具体用于:
通过所述第一终端向所述资源请求者提供鉴权页面获取所述资源请求者输入的所述身份鉴权参数。
20.根据权利要求19所述的授权服务器,其特征在于,若所述资源请求者为所述授权服务器管理的用户,则所述资源请求者的身份鉴权参数中的所述账户类型为所述授权服务器管理的账户类型;
若所述资源请求者为移动手机号码,则所述资源请求者的身份鉴权参数中的所述账户类型为移动手机号码类型;
若所述资源请求者为第三方鉴权服务器管理的用户,且所述第三方鉴权服务器为所述授权服务器所信任,则所述资源请求者的身份鉴权参数中的所述账户类型为第三方鉴权服务器管理的账户类型。
21.一种终端,其特征在于,包括:
发送单元,用于当资源请求者通过所述终端使用第三方应用并请求访问资源拥有者托管于授权服务器的资源时,向所述授权服务器发送授权请求,所述授权请求中携带的参数包括资源拥有者标识和第三方应用标识;
所述发送单元,还用于向所述授权服务器发送所述资源请求者的身份鉴权参数,所述身份鉴权参数用于所述授权服务器根据所述身份鉴权参数对所述资源请求者进行身份鉴权;
接收单元,用于接收所述授权服务器发送的授权指令,以使得所述资源请求者通过所述第三方应用访问所述资源拥有者托管于所述授权服务器的资源,所述授权指令为所述授权服务器确定所述资源拥有者标识、资源请求者标识和所述第三方应用标识的映射关系与授权方、授权请求方和授权请求应用方的映射关系匹配,且符合预授权条件后发送的。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510424586.9A CN106341234B (zh) | 2015-07-17 | 2015-07-17 | 一种授权方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510424586.9A CN106341234B (zh) | 2015-07-17 | 2015-07-17 | 一种授权方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106341234A CN106341234A (zh) | 2017-01-18 |
CN106341234B true CN106341234B (zh) | 2020-09-11 |
Family
ID=57826113
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510424586.9A Active CN106341234B (zh) | 2015-07-17 | 2015-07-17 | 一种授权方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106341234B (zh) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108337212A (zh) * | 2017-01-19 | 2018-07-27 | 中国移动通信有限公司研究院 | 一种终端托管方法、终端、服务器及系统 |
CN109308416B (zh) * | 2017-07-26 | 2022-07-19 | 财付通支付科技有限公司 | 业务服务数据处理方法、装置、系统、存储介质和设备 |
CN109428869B (zh) * | 2017-08-31 | 2021-04-27 | 中国电信股份有限公司 | 钓鱼攻击防御方法和授权服务器 |
CN108769436B (zh) * | 2018-05-31 | 2020-12-08 | 中国—东盟信息港股份有限公司 | 一种基于ussd与二维码的用户手机安全隐私定制化保护方法 |
CN109033774B (zh) * | 2018-08-31 | 2020-08-07 | 阿里巴巴集团控股有限公司 | 获取、反馈用户资源的方法、装置及电子设备 |
CN111050209A (zh) * | 2018-10-11 | 2020-04-21 | 阿里巴巴集团控股有限公司 | 多媒体资源播放方法及装置 |
CN109302481A (zh) * | 2018-10-12 | 2019-02-01 | 中国联合网络通信有限公司河南省分公司 | 一种受理通信业务的授权方法及其授权装置 |
CN109587126B (zh) * | 2018-11-26 | 2022-12-09 | 平安科技(深圳)有限公司 | 用户鉴权方法和系统 |
CN110233857B (zh) * | 2019-06-28 | 2022-04-15 | 深圳开立生物医疗科技股份有限公司 | 一种超声设备授权方法、系统、设备及计算机存储介质 |
CN110276184A (zh) * | 2019-06-28 | 2019-09-24 | 北京金山云网络技术有限公司 | 一种云计算资源授权方法及装置 |
CN114731513A (zh) * | 2019-12-30 | 2022-07-08 | 华为技术有限公司 | 一种控制通信接入的方法、ap及通信设备 |
CN111861491B (zh) * | 2020-07-24 | 2023-09-22 | 中国工商银行股份有限公司 | 一种信息验证方法、装置及设备 |
CN111949959B (zh) * | 2020-08-14 | 2023-09-15 | 中国工商银行股份有限公司 | Oauth协议中的授权认证方法及装置 |
CN114513364B (zh) * | 2022-02-25 | 2024-03-15 | 杭州涂鸦信息技术有限公司 | 一种服务授权方法及相关组件 |
CN115567885B (zh) * | 2022-09-27 | 2023-09-05 | 山东浪潮科学研究院有限公司 | 一种手机短信授权托管服务系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103581140A (zh) * | 2012-08-03 | 2014-02-12 | 腾讯科技(深圳)有限公司 | 授权控制方法及装置和系统、授权请求方法及装置 |
CN103888451A (zh) * | 2014-03-10 | 2014-06-25 | 百度在线网络技术(北京)有限公司 | 认证的授权方法、装置及系统 |
CN104125063A (zh) * | 2013-04-28 | 2014-10-29 | 腾讯科技(深圳)有限公司 | 授权认证方法、设备及系统 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101771532B (zh) * | 2008-12-31 | 2012-07-18 | 华为技术有限公司 | 实现资源共享的方法、装置及系统 |
IN2014CN04333A (zh) * | 2011-12-05 | 2015-09-04 | Qualcomm Inc | |
US9148429B2 (en) * | 2012-04-23 | 2015-09-29 | Google Inc. | Controlling access by web applications to resources on servers |
-
2015
- 2015-07-17 CN CN201510424586.9A patent/CN106341234B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103581140A (zh) * | 2012-08-03 | 2014-02-12 | 腾讯科技(深圳)有限公司 | 授权控制方法及装置和系统、授权请求方法及装置 |
CN104125063A (zh) * | 2013-04-28 | 2014-10-29 | 腾讯科技(深圳)有限公司 | 授权认证方法、设备及系统 |
CN103888451A (zh) * | 2014-03-10 | 2014-06-25 | 百度在线网络技术(北京)有限公司 | 认证的授权方法、装置及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN106341234A (zh) | 2017-01-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106341234B (zh) | 一种授权方法及装置 | |
US10218678B2 (en) | Method and apparatus for accessing third-party resources | |
US11122028B2 (en) | Control method for authentication/authorization server, resource server, and authentication/authorization system | |
US8819784B2 (en) | Method for managing access to protected resources and delegating authority in a computer network | |
US9338156B2 (en) | System and method for integrating two-factor authentication in a device | |
US8904480B2 (en) | Social authentication of users | |
US9767265B2 (en) | Authentication with parental control functionality | |
JP5509334B2 (ja) | コンピュータネットワーク内の保護リソースへのアクセスを管理するための方法と、そのための物理エンティティおよびコンピュータプログラム | |
US20140075513A1 (en) | Device token protocol for authorization and persistent authentication shared across applications | |
CN115021991A (zh) | 未经管理的移动设备的单点登录 | |
JP2016535880A (ja) | 単一のフレキシブルかつプラガブルOAuthサーバを備える複数のリソースサーバ、OAuth保護したREST式OAuth許諾管理サービス、およびモバイルアプリケーションシングルサインオンするOAuthサービス | |
CN104255007A (zh) | Oauth框架 | |
CN106953831B (zh) | 一种用户资源的授权方法、装置及系统 | |
CN113014593B (zh) | 访问请求的鉴权方法及装置、存储介质、电子设备 | |
EP2683127A1 (en) | Voucher authorization for cloud server | |
CN113542201B (zh) | 一种用于互联网业务的访问控制方法与设备 | |
CN106161475B (zh) | 用户鉴权的实现方法和装置 | |
US11615403B1 (en) | System and method for dynamically retrieving an attribute value of an identity claim from an issuing party using a digitally signed access token | |
US10218700B2 (en) | Authorizations for computing devices to access a protected resource | |
CN105656856A (zh) | 资源管理方法和装置 | |
EP1860586A1 (en) | Method and managing unit for managing the usage of digital content, rendering device | |
JP5485452B1 (ja) | 鍵管理システム、鍵管理方法、ユーザ端末、鍵生成管理装置、及びプログラム | |
CN117375986A (zh) | 一种应用访问方法、装置、服务器 | |
US8533783B1 (en) | Method and system for enabling automatic access to an online account | |
CN115190483B (zh) | 一种访问网络的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |