CN103841103A - 一种获取公共授权服务的装置和方法 - Google Patents
一种获取公共授权服务的装置和方法 Download PDFInfo
- Publication number
- CN103841103A CN103841103A CN201410064300.6A CN201410064300A CN103841103A CN 103841103 A CN103841103 A CN 103841103A CN 201410064300 A CN201410064300 A CN 201410064300A CN 103841103 A CN103841103 A CN 103841103A
- Authority
- CN
- China
- Prior art keywords
- request
- user
- authorization
- application
- interface
- 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.)
- Granted
Links
Images
Landscapes
- Telephonic Communication Services (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明的实施例提供一种获取公共授权服务的装置和方法,涉及通信技术领域,解决了在实现用户授权的过程中出现的硬件成本、开发难度大的问题,提高了普遍适用性,提高了SEP平台的系统发展速度,增强了竞争能力。该方法具体包括:接收应用终端发送的获取用户授权的请求;将预先获得的授权信息写入数据库并生成授权事务标识;根据申请的数据的提供者获取API提供者的授权页面的地址;发送重定向请求至API提供者的授权页面的地址;接收API提供者发送的重定向响应,根据授权事务标识、授权结果和用户标识获取接入标识。本发明应用于公共OAuth服务的获取中。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种获取公共授权服务的装置和方法。
背景技术
移动互联网业务是通信领域最具发展潜力的业务,通过构建移动互联网业务能力开放环境,将移动网络特有元素与互联网能力通过应用程序接口(Application Programming Interface,简称API)形式开放,可以促进移动网络和互联网元素的融合,构建具有差异化的移动互联网业务。在整合和利用现有移动网络和互联网能力资源基础上,API提供者通过业务开放平台(Service Exposure Platform,简称SEP)可以透传、组合成新的API并通过API商城销售给API消费者。同时,SEP平台汇聚了包括运营商能力和非运营商能力。运营商能力包括两大类,一类是互联网厂商自行开发的开放平台公开对外开放的,一类是未公开对外开放的,通常都是在封闭系统内使用。
对于未公开对外开放的非运营商能力与居民的生活关系尤为密切,因此经常需要公开开放。但是公开开放的时候存在用户隐私的问题。现在技术中通常采用OAuth授权规范,该规范中定义了使用方获取用户数据之前获取用户授权的具体流程。但是现有的技术方案中每个API提供者都需要追加OAuth授权服务器的投资,当使用该API的第三方应用(例如微信)有较多用户时,授权服务器的并发数会很高,这样会使得硬件成本(包括服务器和存储)也很高;同时,第三方应用需要分别对接不同API提供者的OAuth授权服务器,增加了开发难度,降低了普遍适用性。进而导致SEP平台的系统发展较慢,竞争力较低。
发明内容
本发明的实施例提供一种获取公共授权服务的装置和方法,解决了在实现用户授权的过程中出现的硬件成本、开发难度大的问题。同时,提高了普遍适用性,极大的提高了SEP平台的系统发展速度,增强了竞争能力。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,提供一种公共OAuth服务器,所述公共OAuth服务器包括:
接收单元,用于接收应用终端发送的获取用户授权的请求;其中,所述获取用户授权的请求中包括:申请的数据的提供者和申请的数据的范围;
处理单元,用于将预先获得的授权信息写入数据库并生成授权事务标识;
获取单元,用于根据所述接收单元接收到的所述申请的数据的提供者获取API提供者的授权页面的地址;
发送单元,用于发送重定向请求至所述API提供者的授权页面的地址,以便于所述API提供者根据所述重定向请求发送授权页面至所述用户终端,并根据所述用户终端反馈的用户名和密码返回重定向响应至所述公共OAuth服务器;其中,所述重定向请求中携带申请授权的应用名称和所述申请的数据的范围;
所述接收单元,还用于接收所述API提供者发送的重定向响应,其中,所述重定向响应中包括:所述授权事务标识、所述授权结果和所述用户标识;
所述处理单元,还用于根据所述接收单元接收到的所述授权事务标识、所述授权结果和所述用户标识获取接入标识。
在第一种可能的实现方式中,结合第一方面,所述处理单元包括:
处理模块,用于若所述授权结果是接受授权,则记录所述用户标识并根据所述授权事务标识生成授权码;
发送模块,用于通过返回所述重定向响应将所述处理模块得到的所述授权码发送至所述应用终端,以便于所述应用终端根据所述授权码发送获取接入标识的请求;
接收模块,用于接收所述应用终端发送的所述获取接入标识的请求,并检测所述授权码是否合法;
所述处理模块,还用于若所述授权码合法则根据所述授权码生成接入标识并将所述接入标识发送至所述应用终端。
在第二种可能的实现方式中,结合第一方面,
所述处理单元,还用于若所述授权结果是拒绝授权,则返回错误至所述应用终端,并删除所述授权事物标识。
在第三种可能的实现方式中,结合第一种可能的实现方式,所述处理单元还包括:
所述接收模块,还用于接收所述应用终端发送的获取用户数据的接口的请求;其中,所述获取用户数据的接口的请求中包括接入标识的参数;
获取模块,用于根据所述接收模块接收到的所述获取用户数据的接口的请求中携带的所述接入标识的参数获取接入标识并进行校验;
所述获取模块,还用于若校验成功,则获取所述接入标识对应的用户标识;
所述发送模块,还用于发送所述获取用户数据的接口的请求至所述API提供者,其中,所述获取用户数据的接口的请求中携带用户标识的参数;
所述接收模块,还用于接收所述API提供者根据所述用户标识的参数返回的用户数据,并将所述用户数据发送至所述应用终端。
在第四种可能的实现方式中,结合第一种可能的实现方式,
所述接收模块,还用于接收所述API提供者发送的申请校验接入标识的请求;其中,所述申请校验接入标识的请求是所述API提供者接收到所述应用终端发送的获取用户数据的接口的请求后发送的,所述获取用户数据的接口的请求中包括接入标识的参数;
所述获取模块,还用于根据所述接收模块接收到的所述申请校验接入标识的请求中携带的接入标识的参数获取接入标识,并进行校验;
所述获取模块,还用于若校验成功,则获取所述接入标识对应的用户标识;
所述发送模块,还用于发送所述获取模块获取到的所述用户标识至所述API提供者,以便于所述API提供者根据所述用户标识返回用户数据至所述应用终端。
在第五种可能的实现方式中,结合第一方面,
所述公共OAuth服务器中至少包括:OAuth授权接口和业务服务接口;其中,所述OAuth授权接口是标准接口,用于发送获取地址的请求和请求参数;所述业务服务接口用于进行业务通信。
第二方面,提供一种API提供者,所述API提供者包括:
接收单元,用于接收公共OAuth服务器发送的重定向请求;其中,所述重定向请求是所述公共OAuth服务器根据所述应用终端发送的获取用户授权的请求发送的,所述重定向请求中包括:申请授权的应用名称和所述申请的数据的范围;
发送单元,用于根据所述接收单元接收到的所述申请授权的应用名称和所述申请的数据的范围发送授权页面至用户终端,以便于所述用户终端发送用户名和登录密码至所述API提供者;
检验单元,用于校验所述用户终端发送的所述用户名和登录密码的正确性;
所述发送单元,还用于发送重定向响应至公共OAuth服务器,以便于所述公共OAuth服务器根据所述重定向响应中携带的授权事务标识,授权结果和用户标识获取接入标识;其中,所述重定向响应中包括:所述授权事务标识,所述授权结果和所述用户标识。
第三方面,提供一种获取公共授权服务的方法,所述方法包括:
公共OAuth服务器接收应用终端发送的获取用户授权的请求;其中,所述获取用户授权的请求中包括:申请的数据的提供者和申请的数据的范围;
将预先获得的授权信息写入数据库并生成授权事务标识;
根据所述申请的数据的提供者获取API提供者的授权页面的地址;
发送重定向请求至所述API提供者的授权页面的地址以便于所述API提供者根据所述重定向请求发送授权页面至所述用户终端,并根据所述用户终端反馈的用户名和密码返回重定向响应至所述公共OAuth服务器;其中,所述重定向请求中携带申请授权的应用名称和所述申请的数据的范围;
接收所述API提供者发送的重定向响应,其中,所述重定向响应中包括:所述授权事务标识、授权结果和用户标识;
根据所述授权事务标识、所述授权结果和所述用户标识获取接入标识。
在第一种可能的实现方式中,结合第三方面,所述根据所述授权事务标识、所述授权结果和所述用户标识获取接入标识,包括:
若所述授权结果是接受授权,则记录所述用户标识并根据所述授权事务标识生成授权码;
通过返回所述重定向响应将所述授权码发送至所述应用终端,以便于所述应用终端根据所述授权码发送获取接入标识的请求;
接收所述应用终端发送的所述获取接入标识的请求,并检测所述授权码是否合法;
若所述授权码合法则根据所述授权码生成接入标识并将所述接入标识发送至所述应用终端。
在第二种可能的实现方式中,结合第三方面,所述根据所述授权事务标识、所述授权结果和所述用户标识获取接入标识,还包括:
若所述授权结果是拒绝授权,则返回错误至所述应用终端,并删除所述授权事物标识。
在第三种可能的实现方式中,结合第一种可能的实现方式,所述若所述授权码合法则根据所述授权码生成接入标识并将所述接入标识发送至所述应用终端之后,还包括:
接收所述应用终端发送的获取用户数据的接口的请求;其中,所述获取用户数据的接口的请求中包括接入标识的参数;
根据所述获取用户数据的接口的请求中携带的所述接入标识的参数获取接入标识并进行校验;
若校验成功,则获取所述接入标识对应的用户标识;
发送所述获取用户数据的接口的请求至所述API提供者,其中,所述获取用户数据的接口的请求中携带用户标识的参数;
接收所述API提供者根据所述用户标识的参数返回的用户数据,并将所述用户数据发送至所述应用终端。
在第四种可能的实现方式中,结合第一种可能的实现方式,所述若所述授权码合法则根据所述授权码生成接入标识并将所述接入标识发送至所述应用终端之后,还包括:
接收所述API提供者发送的申请校验接入标识的请求;其中,所述申请校验接入标识的请求是所述API提供者接收到所述应用终端发送的获取用户数据的接口的请求后发送的,所述获取用户数据的接口的请求中包括接入标识的参数;
根据所述申请校验接入标识的请求中携带的接入标识的参数获取接入标识,并进行校验;
若校验成功,则获取所述接入标识对应的用户标识;
发送所述用户标识至所述API提供者,以便于所述API提供者根据所述用户标识返回用户数据至所述应用终端。
在第五种可能的实现方式中,结合第三方面,
所述公共OAuth服务器中至少包括:OAuth授权接口和业务服务接口;其中,所述OAuth授权接口是标准接口,用于发送获取地址的请求和请求参数;所述业务服务接口用于进行业务通信。
第四方面,提供一种获取公共授权服务的方法,所述方法包括:
API提供者接收公共OAuth服务器发送的重定向请求;其中,所述重定向请求是所述公共OAuth服务器根据所述应用终端发送的获取用户授权的请求发送的,所述重定向请求中包括:申请授权的应用名称和所述申请的数据的范围;
根据所述申请授权的应用名称和所述申请的数据的范围发送授权页面至用户终端,以便于所述用户终端发送用户名和登录密码至所述API提供者;
校验所述用户终端发送的所述用户名和登录密码的正确性;
发送重定向响应至公共OAuth服务器,以便于所述公共OAuth服务器根据所述重定向响应中携带的授权事务标识,授权结果和用户标识获取接入标识;其中,所述重定向响应中包括:所述授权事务标识、所述授权结果和所述用户标识。
本发明的实施例提供的获取公共授权服务的装置和方法,通过提供公共的OAuth服务器模块,并且在该模块中提供满足OAuth规范的用户授权和校验功能,提供私有接口与API提供者进行集成,同时,API提供者只需集成OAuth服务器的私有接口,实现不同的应用终端直接与OAuth服务器对接而不用与每一个API提供者对接就可以得到用户的授权,解决了在实现用户授权的过程中出现的硬件成本、开发难度大的问题。同时,提高了普遍适用性,极大的提高了SEP平台的系统发展速度,增强了竞争能力。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明的实施例提供的一种公共OAuth服务器的结构示意图;
图2为本发明的实施例提供的另一种公共OAuth服务器的结构示意图;
图3为本发明的实施例提供的又一种公共OAuth服务器的结构示意图;
图4为本发明的实施例提供的一种API提供者的结构示意图;
图5为本发明的实施例提供的一种获取公共授权服务的方法的流程示意图;
图6为本发明的实施例提供的另一种获取公共授权服务的方法的流程示意图;
图7为本发明的实施例提供的另一种获取公共授权服务的方法的流程示意图;
图8为本发明的实施例提供的又一种获取公共授权服务的方法的流程示意图;
图9为本发明的另一实施例提供的一种获取公共授权服务的方法的流程示意图;
图10为本发明的实施例提供的一种公共OAuth服务器的结构示意图;
图11为本发明的实施例提供的一种API提供者的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的实施例提供一种公共OAuth服务器1,参照图1所示,该公共OAuth服务器1包括:接收单元11、处理单元12、获取单元13和发送单元14,其中:
接收单元11,用于接收应用终端发送的获取用户授权的请求。
其中,获取用户授权的请求中包括:申请的数据的提供者和申请的数据的范围。
具体的,接收单元接收到的应用终端发送的获取用户授权的请求是应用终端通过重定向的过程发送的。应用终端先通过重定向过程向浏览器发送获取用户授权的请求,浏览器接收到该请求后自动向指定的地址即公共OAuth服务器发起获取用户授权的请求。
处理单元12,用于将预先获得的授权信息写入数据库并生成授权事务标识。
具体的,具体的,授权信息是公共OAuth服务器设置后之后,预先保存在公共OAuth服务器中的。
获取单元13,用于根据接收单元11接收到的申请的数据的提供者获取API提供者的授权页面的地址。
发送单元14,用于发送重定向请求至API提供者的授权页面的地址,以便于API提供者根据重定向请求发送授权页面至用户终端,并根据用户终端反馈的用户名和密码返回重定向响应至公共OAuth服务器。
其中,重定向请求中携带申请授权的应用名称和申请的数据的范围。
具体的,发送单元发送重定向请求至浏览器,该重定向请求中携带了之前获得的应用提供者的授权页面的地址;浏览器接收到请求后将该请求转发至该应用提供者的授权页面的地址对应的应用提供者。公共OAuth服务器可以是通过授权请求转发接口发送重定向请求到API提供者。授权请求转发接口是OAuth授权鉴权服务转发授权消息到API提供者服务器的接口。该接口中传递应用终端的信息,申请的权限信息以及OAuth授权接口中定义的定制化请求参数,该接口可以是授权页面接口,是一个私有接口。
接收单元11,还用于接收API提供者发送的重定向响应。
其中,重定向响应中包括:授权事务标识、授权结果和用户标识。
具体的,API提供者接收到发送单元发送的重定向请求后,根据该重定向请求中携带的请授权的应用名称和申请的数据的范围展示授权页面给用户终端;用户终端输入相应的用户名和密码在该授权页面中,浏览器发送用户终端输入的用户名和密码至对应的API提供者。同时,API提供者检验用户名和密码的正确性,主要是通过判定用户名和密码是否匹配,以及该用户名和密码是否与预先存储的信息想匹配,若匹配则说明用户终端输入的用户名和密码正确,如果不匹配则说明用户终端提供的用户名和密码不正确。
处理单元12,还用于根据接收单元11接收到的授权事务标识、授权结果和用户标识获取接入标识。
本发明的实施例提供的公共OAuth服务器,通过提供公共OAuth服务器模块,并且在该模块中提供满足OAuth规范的用户授权和校验功能,提供私有接口与API提供者进行集成,同时,API提供者只需集成OAuth服务器的私有接口,实现不同的应用终端直接与OAuth服务器对接而不用与每一个API提供者对接就可以得到用户的授权,解决了在实现用户授权的过程中出现的硬件成本、开发难度大的问题。同时,提高了普遍适用性,极大的提高了SEP平台的系统发展速度,增强了竞争能力。
本发明的实施例提供的公共OAuth服务器1,进一步具体的,参照图2所示,该公共OAuth服务器1的处理单元12包括:处理模块121、发送模块122、接收模块123,其中:
处理模块121,用于若授权结果是接受授权,则记录用户标识并根据授权事务标识生成授权码。
具体的,授权结果是API提供者根据检测得到的用户名和密码的正确性确定的,若用户终端输入的用户名和密码经校验是正确的,则授权结果是接受授权;若用户终端输入的用户名和密码见过校验是错误的,则授权结果是拒绝授权。
授权结果可以是API提供者通过授权结果通知接口发送的。授权事物标识、用户标识等信息也可以是通过授权结果通知接口来发送。当然,用户标识信息也可以是携带在业务服务接口中通过转发业务至API接口的。授权结果通知接口是API提供者服务器通知用户授权结果的接口。该接口中通知用户授权结果,授权权限信息,用户标识和请求加密参数;业务服务接口是应用终端访问业务服务API时携带接入标识的接口。OAuth授权鉴权服务规定接入标识的携带方式,该接口可以是用于进行业务通信的接口,根据业务的不同而不同。
发送模块122,用于通过返回重定向响应将处理模块121得到的授权码发送至应用终端,以便于应用终端根据授权码发送获取接入标识的请求。
接收模块123,用于接收应用终端发送的获取接入标识的请求,并检测授权码是否合法。
具体的,通过该授权码对应的应用是否存在和该授权码是否过期来检测该授权码的合法性;若授权码对应的应用不存在和/或该授权码已经过期则判定该授权码不合法;若该授权码对应的应用存在且该授权码没有过期则判定该授权码合法。当然,此处只是举例说明判定授权码合法性的方法,并没有限定只能有改方案进行,同样也可以采用现有技术中相关的可行的方案来判定授权码的合法性。
处理模块121,还用于若授权码合法则根据授权码生成接入标识并将接入标识发送至应用终端。
具体的,公共OAuth服务器中的处理模块可以通过业务服务转发接口发送接入标识至应用终端。应用终端接收到授权码后,可以调用根据授权码OAuth服务器接口发送获取用户数据的接口的请求至公共OAuth服务器。业务服务转发接口是OAuth授权鉴权服务转发业务服务API的接口,该接口中携带用户标识信息而不是接入标识,对API提供者的业务服务API没有影响。
进一步,处理单元12,还用于若授权结果是拒绝授权,则返回错误至应用终端,并删除授权事物标识。
具体的,参照图3所示,处理单元12还包括:获取模块124,其中:
接收模块123,还用于接收应用终端发送的获取用户数据的接口的请求。
其中,获取用户数据的接口的请求中包括接入标识的参数。
获取模块124,用于根据接收模块123接收到的获取用户数据的接口的请求中携带的接入标识的参数获取接入标识并进行校验。
获取模块124,还用于若校验成功,则获取接入标识对应的用户标识。
发送模块122,还用于发送接收模块123接收到的获取用户数据的接口的请求至API提供者。
其中,获取用户数据的接口的请求中携带用户标识的参数。
接收模块123,还用于接收API提供者根据用户标识的参数返回的用户数据,并将用户数据发送至应用终端。
进一步,可选的,接收模块123,还用于接收API提供者发送的申请校验接入标识的请求。
其中,申请校验接入标识的请求是API提供者接收到应用终端发送的获取用户数据的接口的请求后发送的,获取用户数据的接口的请求中包括接入标识的参数。
获取模块124,还用于根据接收模块123接收到的申请校验接入标识的请求中携带的接入标识的参数获取接入标识,并进行校验。
获取模块124,还用于若校验成功,则获取接入标识对应的用户标识。
发送模块122,还用于发送获取模块124获取到的用户标识至API提供者,以便于API提供者根据用户标识返回用户数据至应用终端。
其中,公共OAuth服务器中至少包括:OAuth授权接口和业务服务接口。
具体的,本实施例中的获取地址的请求和请求参数,可以通过OAuth授权接口来实现。OAuth授权接口是OAuth授权鉴权服务提供的满足OAuth规范的授权接口,OAuth授权鉴权服务为不同的API提供者提供定制化的接口,包括URL以及请求参数。本实施例中提供的授权结果通知接口是将用户终端的授权结果返回给OAuth服务器,该OAuth服务器根据此接口进行授权处理的。用户终端在API提供者的授权页面进行授权操作后,API提供者将用户终端重定向到该接口中。主要是实现浏览器到OAuth服务器的授权结果通知中,用的是安全超文本传输协议(Hypertext Transfer Protocol Secure,简称HTTPS)协议;在编程过程中主要是通过GET语句来实现的。
授权请求转发接口主要是提供授权页面给用户终端的,该接口使用的协议可以是HTTPS协议,在编程过程中主要是通过GET语句来实现的。授权请求转发接口的地址由API提供者根据具体的业务自己设定。
本发明的实施例提供的公共OAuth服务器,通过提供公共OAuth服务器模块,并且在该模块中提供满足OAuth规范的用户授权和校验功能,提供私有接口与API提供者进行集成,同时,API提供者只需集成OAuth服务器的私有接口,实现不同的应用终端直接与OAuth服务器对接而不用与每一个API提供者对接就可以得到用户的授权,解决了在实现用户授权的过程中出现的硬件成本、开发难度大的问题。同时,提高了普遍适用性,极大的提高了SEP平台的系统发展速度,增强了竞争能力。
本发明的实施例提供一种API提供者2,参照图4所示,该API提供者2包括:接收单元21、发送单元22和检验单元23,其中:
接收单元21,用于接收公共OAuth服务器发送的重定向请求。
其中,重定向请求是公共OAuth服务器根据应用终端发送的获取用户授权的请求发送的,重定向请求中包括:申请授权的应用名称和申请的数据的范围。
发送单元22,用于根据接收单元21接收到的申请授权的应用名称和申请的数据的范围发送授权页面至用户终端,以便于用户终端发送用户名和登录密码至API提供者。
检验单元23,用于校验用户终端发送的用户名和登录密码的正确性。
发送单元22,还用于发送重定向响应至公共OAuth服务器,以便于公共OAuth服务器根据重定向响应中携带的授权事务标识,授权结果和用户标识获取接入标识。
其中,重定向响应中包括:授权事务标识,授权结果和用户标识。
本发明的实施例提供的API提供者,通过提供公共OAuth服务器模块,并且在该模块中提供满足OAuth规范的用户授权和校验功能,提供私有接口与API提供者进行集成,同时,API提供者只需集成OAuth服务器的私有接口,实现不同的应用终端直接与OAuth服务器对接而不用与每一个API提供者对接就可以得到用户的授权,解决了在实现用户授权的过程中出现的硬件成本、开发难度大的问题。同时,提高了普遍适用性,极大的提高了SEP平台的系统发展速度,增强了竞争能力。
本发明的实施例提供一种获取公共授权服务的方法,参照图5所示,该方法包括以下步骤:
301、公共OAuth服务器接收应用终端发送的获取用户授权的请求。
其中,获取用户授权的请求中包括:申请的数据的提供者和申请的数据的范围。
具体的,本实施例中的应用终端发送的获取用户授权的请求是应用终端通过重定向的过程发送的。
302、公共OAuth服务器将预先获得的授权信息写入数据库并生成授权事务标识。
具体的,授权信息是公共OAuth服务器设置后之后,预先保存在公共OAuth服务器中的。
303、公共OAuth服务器根据申请的数据的提供者获取API提供者的授权页面的地址。
304、公共OAuth服务器发送重定向请求至API提供者的授权页面的地址,以便于API提供者根据重定向请求发送授权页面至用户终端,并根据用户终端反馈的用户名和密码返回重定向响应至公共OAuth服务器。
其中,重定向请求中携带申请授权的应用名称和申请的数据的范围。
305、公共OAuth服务器接收API提供者发送的重定向响应。
其中,重定向响应中包括:授权事务标识、授权结果和用户标识。
306、公共OAuth服务器根据授权事务标识、授权结果和用户标识获取接入标识。
本发明的实施例提供的获取公共授权服务的方法,通过提供公共的OAuth服务器模块,并且在该模块中提供满足OAuth规范的用户授权和校验功能,提供私有接口与API提供者进行集成,同时,API提供者只需集成OAuth服务器的私有接口,实现不同的应用终端直接与OAuth服务器对接而不用与每一个API提供者对接就可以得到用户的授权,解决了在实现用户授权的过程中出现的硬件成本、开发难度大的问题。同时,提高了普遍适用性,极大的提高了SEP平台的系统发展速度,增强了竞争能力。
本发明的实施例提供一种获取公共授权服务的方法,参照图6所示,该方法包括以下步骤:
401、API提供者接收公共OAuth服务器发送的重定向请求。
其中,重定向请求是公共OAuth服务器根据应用终端发送的获取用户授权的请求发送的,重定向请求中包括:申请授权的应用名称和申请的数据的范围。
402、API提供者根据申请授权的应用名称和申请的数据的范围发送授权页面至用户终端,以便于用户终端发送用户名和登录密码至API提供者。
403、API提供者校验用户终端发送的用户名和登录密码的正确性。
404、API提供者发送重定向响应至公共OAuth服务器,以便于公共OAuth服务器根据重定向响应中携带的授权事务标识,授权结果和用户标识获取接入标识。
其中,重定向响应中包括:授权事务标识,授权结果和用户标识。
本发明的实施例提供的获取公共授权服务的方法,通过提供公共的OAuth服务器模块,并且在该模块中提供满足OAuth规范的用户授权和校验功能,提供私有接口与API提供者进行集成,同时,API提供者只需集成OAuth服务器的私有接口,实现不同的应用终端直接与OAuth服务器对接而不用与每一个API提供者对接就可以得到用户的授权,解决了在实现用户授权的过程中出现的硬件成本、开发难度大的问题。同时,提高了普遍适用性,极大的提高了SEP平台的系统发展速度,增强了竞争能力。
本发明的实施例提供一种获取公共授权服务的方法,参照图7所示,该方法包括以下步骤:
501、公共OAuth服务器接收应用终端发送的获取用户授权的请求。
其中,获取用户授权的请求中包括:申请的数据的提供者和申请的数据的范围。
获取用户授权的请求是应用终端通过重定向过程发送的。具体的,应用终端先通过重定向过程向浏览器发送获取用户授权的请求,浏览器接收到该请求后自动向指定的地址即公共OAuth服务器发起获取用户授权的请求。
502、公共OAuth服务器将预先获得的授权信息写入数据库并生成授权事务标识。
503、公共OAuth服务器根据申请的数据的提供者获取API提供者的授权页面的地址。
504、公共OAuth服务器发送重定向请求至API提供者的授权页面的地址。
其中,重定向请求中包括:申请授权的应用名称和申请的数据的范围。
具体的,公共OAuth服务器发送重定向请求至浏览器,该请求中携带了之前获得的应用提供者的授权页面的地址;浏览器接收到请求后将该请求转发至该应用提供者的授权页面的地址对应的应用提供者。公共OAuth服务器可以是通过授权请求转发接口发送重定向请求到API提供者。授权请求转发接口是OAuth授权鉴权服务转发授权消息到API提供者服务器的接口。该接口中传递应用终端的信息,申请的权限信息以及OAuth授权接口中定义的定制化请求参数,该是授权页面接口,是一个私有接口。
505、API提供者根据申请授权的应用名称和申请的数据的范围发送授权页面至用户终端,以便于用户终端发送用户名和登录密码至API提供者。
具体的,API提供者接收到该重定向请求后,根据重定向请求中携带的申请授权的应用名称和申请的数据的范围展示授权页面给用户终端;用户终端输入相应的用户名和密码在该授权页面中,浏览器发送用户终端输入的用户名和密码至对应的API提供者。
506、API提供者校验用户终端发送的用户名和登录密码的正确性。
检验用户名和密码的正确性主要是通过判定用户名和密码是否匹配,以及该用户名和密码是否与预先存储的信息想匹配,若匹配则说明用户终端输入的用户名和密码正确,如果不匹配则说明用户终端提供的用户名和密码不正确。
507、API提供者发送重定向响应至公共OAuth服务器。
其中,重定向响应中包括:授权事务标识、授权结果和用户标识。
具体的,授权结果是API提供者根据检测得到的用户名和密码的正确性确定的,若用户终端输入的用户名和密码经校验是正确的,则授权结果是接受授权;若用户终端输入的用户名和密码见过校验是错误的,则授权结果是拒绝授权。
其中,若授权结果是接受授权,则执行步骤508~523;若授权结果是拒绝授权,则执行步骤524;
508、若授权结果是接受授权,则公共OAuth服务器记录用户标识并根据授权事务标识生成授权码。
具体的,授权结果可以是API提供者通过授权结果通知接口发送的。授权事物标识、用户标识等信息也可以是通过授权结果通知接口来发送。当然,用户标识信息也可以是携带在业务服务接口中通过转发业务至API接口的。授权结果通知接口是API提供者服务器通知用户授权结果的接口。该接口中通知用户授权结果,授权权限信息,用户标识和请求加密参数;业务服务接口是应用终端访问业务服务API时携带接入标识的接口。OAuth授权鉴权服务规定接入标识的携带方式,该接口可以是授权结果通知接口,业务服务接口可以是用于进行业务通信的接口,根据业务的不同而不同。
509、公共OAuth服务器通过返回重定向响应将授权码发送至应用终端,以便于应用终端根据授权码发送获取接入标识的请求。
其中,授权码携带在该重定向响应中。
510、公共OAuth服务器接收应用终端发送的获取接入标识的请求,并检测授权码是否合法。
具体的,通过该授权码对应的应用是否存在和该授权码是否过期来检测该授权码的合法性;若授权码对应的应用不存在和/或该授权码已经过期则判定该授权码不合法;若该授权码对应的应用存在且该授权码没有过期则判定该授权码合法。当然,此处只是举例说明判定授权码合法性的方法,并没有限定只能有改方案进行,同样也可以采用现有技术中相关的可行的方案来判定授权码的合法性。
511、若授权码合法则公共OAuth服务器根据授权码生成接入标识并将接入标识发送至应用终端。
具体的,本实施例中公共OAuth服务器可以通过业务服务转发接口发送接入标识至应用终端。应用终端接收到授权码后,可以调用根据授权码OAuth服务器接口发送获取用户数据的接口的请求至公共OAuth服务器。业务服务转发接口业务服务转发接口是OAuth授权鉴权服务转发业务服务API的接口,该接口中携带用户标识信息而不是接入标识,对API提供者的业务服务没有影响。
在步骤511之后若相应的装置中具有业务开放(Service ExposurePlatform,简称SEP)平台,则采用步骤512~517提供的方案来获取用户数据;若相应的装置中没有SEP平台,则采用步骤518~523提供的方案来获取用户数据;
512、公共OAuth服务器接收应用终端发送的获取用户数据的接口的请求。
其中,请求中包括接入标识的参数。
513、公共OAuth服务器根据请求中携带的接入标识的参数获取接入标识并进行校验。
具体的,校验接入标识的方法可以采用现有的技术方案中的检验方案,此处不作具体的限定。
514、若校验成功,则公共OAuth服务器获取接入标识对应的用户标识。
其中,用户标识一般使用伪码,这样可以保护用户信息,避免用户信息不会暴漏给公共OAuth服务器。
515、公共OAuth服务器发送获取用户数据的接口的请求至API提供者。
其中,请求中携带用户标识的参数。
516、API提供者根据用户标识的参数返回用户数据至公共OAuth服务器。
517、公共OAuth服务器将用户数据发送至应用终端。
在步骤511之后,参照图8所示,本实施例中提供的另一种可行的根据接入标识获取用户数据的方案如下所示:
518、API提供者接收应用终端发送获取用户数据的接口的请求。
其中,获取用户数据的接口的请求中包括接入标识的参数。
519、API提供者根据接入标识的参数发送申请校验接入标识的请求至公共OAuth服务器。
520、公共OAuth服务器根据申请校验接入标识的请求中携带的接入标识的参数获取接入标识,并进行校验。
521、若校验成功,则公共OAuth服务器获取接入标识对应的用户标识。
522、公共OAuth服务器发送用户标识至API提供者。
523、API提供者根据用户标识返回用户数据至应用终端。
在步骤507之后,若授权结果是拒绝授权,参照图9所示,另一种可行的方案为:
524、若授权结果是拒绝授权,则公共OAuth服务器返回错误至应用终端,并删除授权事物标识。
具体的,本实施例中的获取地址的请求和请求参数,可以通过OAuth授权接口来实现。OAuth授权接口是OAuth授权鉴权服务提供的满足OAuth规范的授权接口,OAuth授权鉴权服务为不同的API提供者提供定制化的接口,包括URL以及请求参数。本实施例中提供的授权结果通知接口是将用户终端的授权结果返回给OAuth服务器,该OAuth服务器根据此接口进行授权处理的。用户终端在API提供者的授权页面进行授权操作后,API提供者将用户终端重定向到该接口中。主要是实现浏览器到OAuth服务器的授权结果通知中,用的是安全超文本传输协议(Hypertext Transfer Protocol Secure,简称HTTPS)协议;在编程过程中主要是通过GET语句来实现的。
授权请求转发接口主要是提供授权页面给用户终端的,该接口使用的协议可以是HTTPS协议,在编程过程中主要是通过GET语句来实现的。授权请求转发接口的地址由API提供者根据具体的业务自己设定。
本实施例中对于各个接口的位置不作具体的限定,对于各个接口的具体位置只要是可以实现各个接口相应的功能,不增加操作难度的任意位置均可以。
本发明的实施例提供的获取公共授权服务的方法,通过提供公共的OAuth服务器模块,并且在该模块中提供满足OAuth规范的用户授权和校验功能,提供私有接口与API提供者进行集成,同时,API提供者只需集成OAuth服务器的私有接口,实现不同的应用终端直接与OAuth服务器对接而不用与每一个API提供者对接就可以得到用户的授权,解决了在实现用户授权的过程中出现的硬件成本、开发难度大的问题。同时,提高了普遍适用性,极大的提高了SEP平台的系统发展速度,增强了竞争能力。
本发明的实施例提供一种公共OAuth服务器6,参照图10所示,该公共OAuth服务器6包括:至少一个处理器61、存储器62、通信接口63和总线64,至少一个处理器61、存储器62和通信接口63通过总线64连接并完成相互间的通信,存储器61用于存储程序代码,其中:
该总线64可以是工业标准体系结构(Industry StandardArchitecture,简称为ISA)总线、外部设备互连(Peripheral ComponentInterconnect,简称为PCI)总线或扩展工业标准体系结构(ExtendedIndustry Standard Architecture,简称为EISA)总线等。该总线64可以分为地址总线、数据总线、控制总线等。为便于表示,图10中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。其中:
存储器62用于存储程序代码,该程序代码包括操作指令。存储器62可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
处理器61可能是一个中央处理器(Central Processing Unit,简称为CPU),或者是特定集成电路(Application Specific IntegratedCircuit,简称为ASIC),或者是被配置成实施本发明实施例的一个或多个集成电路。
通信接口63,主要用于实现本实施例中的装置之间的通信。
处理器61,还用于调用存储器62中的程序代码,用以执行以下操作:
通过至少一个通信接口63接收应用终端发送的获取用户授权的请求。
其中,获取用户授权的请求中包括:申请的数据的提供者和申请的数据的范围。
将预先获得的授权信息写入数据库并生成授权事务标识。
根据申请的数据的提供者获取API提供者的授权页面的地址。
发送重定向请求至API提供者的授权页面的地址,以便于API提供者根据重定向请求通过至少一个通信接口63发送授权页面至用户终端,并根据用户终端反馈的用户名和密码返回重定向响应至公共OAuth服务器。
其中,重定向请求中携带申请授权的应用名称和申请的数据的范围。
通过至少一个通信接口63接收API提供者发送的重定向响应。
其中,重定向响应中包括:授权事务标识、授权结果和用户标识。
根据授权事务标识、授权结果和用户标识获取接入标识。
本发明的实施例提供的公共OAuth服务器,通过提供公共OAuth服务器模块,并且在该模块中提供满足OAuth规范的用户授权和校验功能,提供私有接口与API提供者进行集成,同时,API提供者只需集成OAuth服务器的私有接口,实现不同的应用终端直接与OAuth服务器对接而不用与每一个API提供者对接就可以得到用户的授权,解决了在实现用户授权的过程中出现的硬件成本、开发难度大的问题。同时,提高了普遍适用性,极大的提高了SEP平台的系统发展速度,增强了竞争能力。
进一步,处理器61具体用于执行以下步骤:
若授权结果是接受授权,则记录用户标识并根据授权事务标识生成授权码。
通过返回重定向响应将授权码发送至应用终端,以便于应用终端通过至少一个通信接口63根据授权码发送获取接入标识的请求。
通过至少一个通信接口63接收应用终端发送的获取接入标识的请求,并检测授权码是否合法。
若授权码合法则根据授权码生成接入标识并将接入标识发送至应用终端。
进一步可选的,处理器61,还用于若授权结果是拒绝授权,则返回错误至应用终端,并删除授权事物标识。
具体的进一步,处理器61还用于执行以下步骤:
通过至少一个通信接口61接收应用终端发送的获取用户数据的接口的请求。
其中,获取用户数据的接口的请求中包括接入标识的参数。
根据获取用户数据的接口的请求中携带的接入标识的参数获取接入标识并进行校验。
若校验成功,则获取接入标识对应的用户标识。
通过至少一个通信接口61发送获取用户数据的接口的请求至API提供者。
其中,获取用户数据的接口的请求中携带用户标识的参数。
通过至少一个通信接口61接收API提供者根据用户标识的参数返回的用户数据,并将用户数据发送至应用终端。
具体可选的,处理器61还用于执行以下步骤:
通过至少一个通信接口61接收API提供者发送的申请校验接入标识的请求。
其中,申请校验接入标识的请求是API提供者接收到应用终端发送的获取用户数据的接口的请求后发送的,获取用户数据的接口的请求中包括接入标识的参数。
根据申请校验接入标识的请求中携带的接入标识的参数获取接入标识,并进行校验。
若校验成功,则获取接入标识对应的用户标识。
通过至少一个通信接口61发送用户标识至API提供者,以便于API提供者根据用户标识返回用户数据至应用终端。
其中,公共OAuth服务器中至少包括OAuth授权接口和业务服务接口。
本发明的实施例提供的公共OAuth服务器,通过提供公共OAuth服务器模块,并且在该模块中提供满足OAuth规范的用户授权和校验功能,提供私有接口与API提供者进行集成,同时,API提供者只需集成OAuth服务器的私有接口,实现不同的应用终端直接与OAuth服务器对接而不用与每一个API提供者对接就可以得到用户的授权,解决了在实现用户授权的过程中出现的硬件成本、开发难度大的问题。同时,提高了普遍适用性,极大的提高了SEP平台的系统发展速度,增强了竞争能力。
本发明的实施例提供一种API提供者7,参照图11所示,该API提供者7包括:至少一个处理器71、存储器72、通信接口73和总线74,至少一个处理器71、存储器72和通信接口73通过总线74连接并完成相互间的通信,存储器71用于存储程序代码,其中:
该总线74可以是工业标准体系结构(Industry StandardArchitecture,简称为ISA)总线、外部设备互连(Peripheral ComponentInterconnect,简称为PCI)总线或扩展工业标准体系结构(ExtendedIndustry Standard Architecture,简称为EISA)总线等。该总线74可以分为地址总线、数据总线、控制总线等。为便于表示,图11中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。其中:
存储器72用于存储程序代码,该程序代码包括操作指令。存储器72可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
处理器71可能是一个中央处理器(Central Processing Unit,简称为CPU),或者是特定集成电路(Application Specific IntegratedCircuit,简称为ASIC),或者是被配置成实施本发明实施例的一个或多个集成电路。
通信接口73,主要用于实现本实施例中的装置之间的通信。
处理器71,还用于调用存储器72中的程序代码,用以执行以下操作:
通过至少一个通信接口71接收公共OAuth服务器发送的重定向请求。
其中,重定向请求是公共OAuth服务器根据应用终端发送的获取用户授权的请求发送的,重定向请求中包括:申请授权的应用名称和申请的数据的范围。
根据申请授权的应用名称和申请的数据的范围发送授权页面至用户终端,以便于用户终端发送用户名和登录密码至API提供者。
校验用户终端发送的用户名和登录密码的正确性。
通过至少一个通信接口71发送重定向响应至公共OAuth服务器,以便于公共OAuth服务器根据重定向响应中携带的授权事务标识,授权结果和用户标识获取接入标识。
其中,重定向响应中包括:授权事务标识、授权结果和用户标识。
本发明的实施例提供的API提供者,通过提供公共OAuth服务器模块,并且在该模块中提供满足OAuth规范的用户授权和校验功能,提供私有接口与API提供者进行集成,同时,API提供者只需集成OAuth服务器的私有接口,实现不同的应用终端直接与OAuth服务器对接而不用与每一个API提供者对接就可以得到用户的授权,解决了在实现用户授权的过程中出现的硬件成本、开发难度大的问题。同时,提高了普遍适用性,极大的提高了SEP平台的系统发展速度,增强了竞争能力。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random AccessMemory,简称RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (14)
1.一种公共OAuth服务器,其特征在于,所述公共OAuth服务器包括:
接收单元,用于接收应用终端发送的获取用户授权的请求;其中,所述获取用户授权的请求中包括:申请的数据的提供者和申请的数据的范围;
处理单元,用于将预先获得的授权信息写入数据库并生成授权事务标识;
获取单元,用于根据所述接收单元接收到的所述申请的数据的提供者获取API提供者的授权页面的地址;
发送单元,用于发送重定向请求至所述API提供者的授权页面的地址,以便于所述API提供者根据所述重定向请求发送授权页面至所述用户终端,并根据所述用户终端反馈的用户名和密码返回重定向响应至所述公共OAuth服务器;其中,所述重定向请求中携带申请授权的应用名称和所述申请的数据的范围;
所述接收单元,还用于接收所述API提供者发送的重定向响应,其中,所述重定向响应中包括:所述授权事务标识、所述授权结果和所述用户标识;
所述处理单元,还用于根据所述接收单元接收到的所述授权事务标识、所述授权结果和所述用户标识获取接入标识。
2.根据权利要求1所述的公共OAuth服务器,其特征在于,所述处理单元包括:
处理模块,用于若所述授权结果是接受授权,则记录所述用户标识并根据所述授权事务标识生成授权码;
发送模块,用于通过返回所述重定向响应将所述处理模块得到的所述授权码发送至所述应用终端,以便于所述应用终端根据所述授权码发送获取接入标识的请求;
接收模块,用于接收所述应用终端发送的所述获取接入标识的请求,并检测所述授权码是否合法;
所述处理模块,还用于若所述授权码合法则根据所述授权码生成接入标识并将所述接入标识发送至所述应用终端。
3.根据权利要求1所述的公共OAuth服务器,其特征在于,
所述处理单元,还用于若所述授权结果是拒绝授权,则返回错误至所述应用终端,并删除所述授权事物标识。
4.根据权利要求2所述的公共OAuth服务器,其特征在于,所述处理单元还包括:
所述接收模块,还用于接收所述应用终端发送的获取用户数据的接口的请求;其中,所述获取用户数据的接口的请求中包括接入标识的参数;
获取模块,用于根据所述接收模块接收到的所述获取用户数据的接口的请求中携带的所述接入标识的参数获取接入标识并进行校验;
所述获取模块,还用于若校验成功,则获取所述接入标识对应的用户标识;
所述发送模块,还用于发送所述接收模块接收到的所述获取用户数据的接口的请求至所述API提供者,其中,所述获取用户数据的接口的请求中携带用户标识的参数;
所述接收模块,还用于接收所述API提供者根据所述用户标识的参数返回的用户数据,并将所述用户数据发送至所述应用终端。
5.根据权利要求2所述的公共OAuth服务器,其特征在于,
所述接收模块,还用于接收所述API提供者发送的申请校验接入标识的请求;其中,所述申请校验接入标识的请求是所述API提供者接收到所述应用终端发送的获取用户数据的接口的请求后发送的,所述获取用户数据的接口的请求中包括接入标识的参数;
所述获取模块,还用于根据所述接收模块接收到的所述申请校验接入标识的请求中携带的接入标识的参数获取接入标识,并进行校验;
所述获取模块,还用于若校验成功,则获取所述接入标识对应的用户标识;
所述发送模块,还用于发送所述获取模块获取到的所述用户标识至所述API提供者,以便于所述API提供者根据所述用户标识返回用户数据至所述应用终端。
6.根据权利要求1所述的公共OAuth服务器,其特征在于,
所述公共OAuth服务器中至少包括:OAuth授权接口和业务服务接口;其中,所述OAuth授权接口是标准接口,用于发送获取地址的请求和请求参数;所述业务服务接口用于进行业务通信。
7.一种API提供者,其特征在于,所述API提供者包括:
接收单元,用于接收公共OAuth服务器发送的重定向请求;其中,所述重定向请求是所述公共OAuth服务器根据所述应用终端发送的获取用户授权的请求发送的,所述重定向请求中包括:申请授权的应用名称和所述申请的数据的范围;
发送单元,用于根据所述接收单元接收到的所述申请授权的应用名称和所述申请的数据的范围发送授权页面至用户终端,以便于所述用户终端发送用户名和登录密码至所述API提供者;
检验单元,用于校验所述用户终端发送的所述用户名和登录密码的正确性;
所述发送单元,还用于发送重定向响应至公共OAuth服务器,以便于所述公共OAuth服务器根据所述重定向响应中携带的授权事务标识,授权结果和用户标识获取接入标识;其中,所述重定向响应中包括:所述授权事务标识,所述授权结果和所述用户标识。
8.一种获取公共授权服务的方法,其特征在于,所述方法包括:
公共OAuth服务器接收应用终端发送的获取用户授权的请求;其中,所述获取用户授权的请求中包括:申请的数据的提供者和申请的数据的范围;
将预先获得的授权信息写入数据库并生成授权事务标识;
根据所述申请的数据的提供者获取API提供者的授权页面的地址;
发送重定向请求至所述API提供者的授权页面的地址,以便于所述API提供者根据所述重定向请求发送授权页面至所述用户终端,并根据所述用户终端反馈的用户名和密码返回重定向响应至所述公共OAuth服务器;其中,所述重定向请求中携带申请授权的应用名称和所述申请的数据的范围;
接收所述API提供者发送的重定向响应,其中,所述重定向响应中包括:所述授权事务标识、所述授权结果和所述用户标识;
根据所述授权事务标识、所述授权结果和所述用户标识获取接入标识。
9.根据权利要求8所述的方法,其特征在于,所述根据所述授权事务标识、所述授权结果和所述用户标识获取接入标识,包括:
若所述授权结果是接受授权,则记录所述用户标识并根据所述授权事务标识生成授权码;
通过返回所述重定向响应将所述授权码发送至所述应用终端,以便于所述应用终端根据所述授权码发送获取接入标识的请求;
接收所述应用终端发送的所述获取接入标识的请求,并检测所述授权码是否合法;
若所述授权码合法则根据所述授权码生成接入标识并将所述接入标识发送至所述应用终端。
10.根据权利要求8所述的方法,其特征在于,所述根据所述授权事务标识、所述授权结果和所述用户标识获取接入标识,还包括:
若所述授权结果是拒绝授权,则返回错误至所述应用终端,并删除所述授权事物标识。
11.根据权利要求9所述的方法,其特征在于,所述若所述授权码合法则根据所述授权码生成接入标识并将所述接入标识发送至所述应用终端之后,还包括:
接收所述应用终端发送的获取用户数据的接口的请求;其中,所述获取用户数据的接口的请求中包括接入标识的参数;
根据所述获取用户数据的接口的请求中携带的所述接入标识的参数获取接入标识并进行校验;
若校验成功,则获取所述接入标识对应的用户标识;
发送所述获取用户数据的接口的请求至所述API提供者,其中,所述获取用户数据的接口的请求中携带用户标识的参数;
接收所述API提供者根据所述用户标识的参数返回的用户数据,并将所述用户数据发送至所述应用终端。
12.根据权利要求9所述的方法,其特征在于,所述若所述授权码合法则根据所述授权码生成接入标识并将所述接入标识发送至所述应用终端之后,还包括:
接收所述API提供者发送的申请校验接入标识的请求;其中,所述申请校验接入标识的请求是所述API提供者接收到所述应用终端发送的获取用户数据的接口的请求后发送的,所述获取用户数据的接口的请求中包括接入标识的参数;
根据所述申请校验接入标识的请求中携带的接入标识的参数获取接入标识,并进行校验;
若校验成功,则获取所述接入标识对应的用户标识;
发送所述用户标识至所述API提供者,以便于所述API提供者根据所述用户标识返回用户数据至所述应用终端。
13.根据权利要求8所述的方法,其特征在于,
所述公共OAuth服务器中至少包括:OAuth授权接口和业务服务接口;其中,所述OAuth授权接口是标准接口,用于发送获取地址的请求和请求参数;所述业务服务接口是业务接口,用于进行业务通信。
14.一种获取公共授权服务的方法,其特征在于,所述方法包括:
API提供者接收公共OAuth服务器发送的重定向请求;其中,所述重定向请求是所述公共OAuth服务器根据所述应用终端发送的获取用户授权的请求发送的,所述重定向请求中包括:申请授权的应用名称和所述申请的数据的范围;
根据所述申请授权的应用名称和所述申请的数据的范围发送授权页面至用户终端,以便于所述用户终端发送用户名和登录密码至所述API提供者;
校验所述用户终端发送的所述用户名和登录密码的正确性;
发送重定向响应至公共OAuth服务器,以便于所述公共OAuth服务器根据所述重定向响应中携带的授权事务标识,授权结果和用户标识获取接入标识;其中,所述重定向响应中包括:所述授权事务标识、所述授权结果和所述用户标识。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410064300.6A CN103841103B (zh) | 2014-02-25 | 2014-02-25 | 一种获取公共授权服务的装置和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410064300.6A CN103841103B (zh) | 2014-02-25 | 2014-02-25 | 一种获取公共授权服务的装置和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103841103A true CN103841103A (zh) | 2014-06-04 |
CN103841103B CN103841103B (zh) | 2017-10-17 |
Family
ID=50804235
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410064300.6A Active CN103841103B (zh) | 2014-02-25 | 2014-02-25 | 一种获取公共授权服务的装置和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103841103B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107222495A (zh) * | 2017-06-29 | 2017-09-29 | 绿网天下(福建)网络科技股份有限公司 | 一种学校用户体系认证方法及系统 |
CN109672675A (zh) * | 2018-12-20 | 2019-04-23 | 成都三零瑞通移动通信有限公司 | 一种基于OAuth2.0的密码服务中间件的WEB认证方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120254957A1 (en) * | 2011-03-28 | 2012-10-04 | International Business Machines Corporation | User impersonation/delegation in a token-based authentication system |
CN103067169A (zh) * | 2011-12-01 | 2013-04-24 | 微软公司 | 应用许可认证 |
CN103220261A (zh) * | 2012-01-21 | 2013-07-24 | 华为技术有限公司 | 一种开放鉴权应用程序接口代理的方法、装置及系统 |
CN103441857A (zh) * | 2013-09-18 | 2013-12-11 | Tcl集团股份有限公司 | 一种网络电视用户增值服务整合方法及系统 |
CN103560888A (zh) * | 2013-11-05 | 2014-02-05 | 江苏先安科技有限公司 | 一种基于数字证书实现集成多个应用系统统一认证登录的方法 |
CN103581118A (zh) * | 2012-07-24 | 2014-02-12 | 中兴通讯股份有限公司 | 一种资源汇聚网关及跨平台授权方法与系统 |
-
2014
- 2014-02-25 CN CN201410064300.6A patent/CN103841103B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120254957A1 (en) * | 2011-03-28 | 2012-10-04 | International Business Machines Corporation | User impersonation/delegation in a token-based authentication system |
CN103067169A (zh) * | 2011-12-01 | 2013-04-24 | 微软公司 | 应用许可认证 |
CN103220261A (zh) * | 2012-01-21 | 2013-07-24 | 华为技术有限公司 | 一种开放鉴权应用程序接口代理的方法、装置及系统 |
CN103581118A (zh) * | 2012-07-24 | 2014-02-12 | 中兴通讯股份有限公司 | 一种资源汇聚网关及跨平台授权方法与系统 |
CN103441857A (zh) * | 2013-09-18 | 2013-12-11 | Tcl集团股份有限公司 | 一种网络电视用户增值服务整合方法及系统 |
CN103560888A (zh) * | 2013-11-05 | 2014-02-05 | 江苏先安科技有限公司 | 一种基于数字证书实现集成多个应用系统统一认证登录的方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107222495A (zh) * | 2017-06-29 | 2017-09-29 | 绿网天下(福建)网络科技股份有限公司 | 一种学校用户体系认证方法及系统 |
CN107222495B (zh) * | 2017-06-29 | 2020-02-21 | 绿网天下(福建)网络科技股份有限公司 | 一种学校用户体系认证方法及系统 |
CN109672675A (zh) * | 2018-12-20 | 2019-04-23 | 成都三零瑞通移动通信有限公司 | 一种基于OAuth2.0的密码服务中间件的WEB认证方法 |
CN109672675B (zh) * | 2018-12-20 | 2021-06-25 | 成都三零瑞通移动通信有限公司 | 一种基于OAuth2.0的密码服务中间件的WEB认证方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103841103B (zh) | 2017-10-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102710640B (zh) | 请求授权的方法、装置和系统 | |
US8191118B2 (en) | Preliminary verification system which has a authentication by phone on the internet environment | |
CN106209912A (zh) | 访问授权方法、装置和系统 | |
CN107026860B (zh) | 登录认证方法、装置及系统 | |
CN103944737A (zh) | 用户身份认证方法、第三方认证平台、运营商认证平台 | |
US20120072970A1 (en) | Chaining information card selectors | |
TWI756200B (zh) | 帳號綁定和業務處理的方法及裝置 | |
US11316693B2 (en) | Trusted platform module-based prepaid access token for commercial IoT online services | |
KR20190014124A (ko) | 이중 인증 | |
TW202134913A (zh) | 判定認證能力之查詢系統、方法及非暫態機器可讀媒體 | |
US9178874B2 (en) | Method, device and system for logging in through a browser application at a client terminal | |
US20120297470A1 (en) | Access authentication method for multiple devices and platforms | |
CN112188493A (zh) | 一种鉴权认证方法、系统及相关设备 | |
CN104580112A (zh) | 一种业务认证方法、系统及服务器 | |
CA3122376A1 (en) | Systems and methods for securing login access | |
CN111200601B (zh) | 一种基于通用中转服务对用户与应用进行对接的方法及系统 | |
US9455972B1 (en) | Provisioning a mobile device with a security application on the fly | |
CN102567903A (zh) | 一种Web应用订购方法、装置及系统 | |
CN101729252A (zh) | 网络服务用户的身份验证系统与方法 | |
US9027155B2 (en) | System for governing the disclosure of restricted data | |
JP6575052B2 (ja) | アクセス制御システム及びプログラム | |
JP2008199618A (ja) | パーソナル通信機器を用い追加情報を得る方法、システム、及びコンピューター・プログラム | |
CN109462600A (zh) | 访问应用的方法、用户设备、登录服务器和存储介质 | |
CN103841103A (zh) | 一种获取公共授权服务的装置和方法 | |
US20170006057A1 (en) | Automated and personalized protection system for mobile applications |
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 | ||
TR01 | Transfer of patent right |
Effective date of registration: 20200214 Address after: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen Patentee after: HUAWEI TECHNOLOGIES Co.,Ltd. Address before: 210012 HUAWEI Nanjing base, 101 software Avenue, Yuhuatai District, Jiangsu, Nanjing Patentee before: Huawei Technologies Co.,Ltd. |
|
TR01 | Transfer of patent right |