CN103780396A - 令牌获取方法及装置 - Google Patents
令牌获取方法及装置 Download PDFInfo
- Publication number
- CN103780396A CN103780396A CN201410039917.2A CN201410039917A CN103780396A CN 103780396 A CN103780396 A CN 103780396A CN 201410039917 A CN201410039917 A CN 201410039917A CN 103780396 A CN103780396 A CN 103780396A
- Authority
- CN
- China
- Prior art keywords
- token
- request
- application identities
- api
- agent apparatus
- 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
Abstract
本发明实施例提供一种令牌获取方法及装置,该方法包括:令牌代理装置向API提供装置发送请求授权访问令牌资源的请求消息;接收所述API提供装置在获取开发者授权后发送的授权访问所述令牌资源的授权凭证;向所述API提供装置发送携带所述授权凭证的访问请求,所述访问请求用于请求访问所述开发者的应用标识所对应的令牌;接收所述API提供装置验证所述授权凭证后发送的所述应用标识所对应的令牌。本发明实施例中,令牌代理装置在获取授权凭证后,可以向API Provider请求访问开发者应用标识对应的token,以获取API Provider发送的token,实现了令牌代理中token的更新,这种更新方式与人工更新相比效率大大提高。
Description
技术领域
本发明涉及通信技术,尤其涉及一种令牌获取方法及装置。
背景技术
随着互联网的发展,越来越多的平台开放其应用程序接口(Application Programming Interface,简称API)供第三方应用(application,简称APP)调用。为了保证API被合法的APP调用,API提供者(Provider)会给APP开发者(Developer)提供对应的APP标识(Identity,简称ID)和令牌(token),为了保证token的安全,API Provider可以周期性的更新token,API调用者也可以在API Provider提供的操作平台上进行token的更新操作。
考虑到安装在用户设备(User Equipment,简称UE)上的APP客户端(client)的不安全性以及token更新所导致的APP client升级成本,现有技术中,一般将token保持在对应的APP服务器(server)中。API Provider在调用者注册APP信息时提供token,调用者在APP创建过程中将token以静态字符串模式写入到APP server代码中。APP使用者在登陆APP client后,由APP server向APP client下发token。
现有技术中,token更新后,需要开发者手动更新APP server中的token值,但是,由于人工的工作效率有限,很可能导致没有及时更新APP server中的token,使得API调用中token出错。
发明内容
本发明实施例提供一种令牌获取方法及装置,用于解决不能及时更新APP server中的token,而使得API调用中token出错的问题。
本发明实施例第一方面提供一种令牌获取方法,包括:
令牌代理装置触发开发者授权所述令牌代理装置访问应用程序编程接口API提供装置中所述开发者的应用标识和所述应用标识对应的令牌的权限;
所述令牌代理装置向所述API提供装置发送请求授权访问令牌资源的请求消息;
所述令牌代理装置接收所述API提供装置在获取所述开发者授权后发送的授权访问所述令牌资源的授权凭证;
所述令牌代理装置向所述API提供装置发送携带所述授权凭证的访问请求,所述访问请求用于请求访问所述开发者的应用标识所对应的令牌;
所述令牌代理装置接收所述API提供装置验证所述授权凭证后发送的所述应用标识所对应的令牌。
结合第一方面,在第一方面的第一种可能的实施方式中,所述方法还包括:所述令牌代理装置接收应用客户端发送的令牌请求消息,所述令牌请求消息包含所述应用客户端所要调用的API对应的应用标识,以请求所述应用标识对应的令牌;
所述令牌代理装置根据所述令牌请求消息将所述应用标识对应的令牌发送给所述应用客户端,以使所述应用客户端根据所述令牌向API提供装置请求执行API调用。
结合第一方面的第一种可能的实施方式,在第一方面的第二种可能的实施方式中,所述令牌代理装置根据所述令牌请求消息将所述应用标识对应的令牌发送给所述应用客户端之后,还包括:
所述令牌代理装置接收所述应用客户端发送的请求更新所述应用标识对应的令牌的消息;
所述令牌代理装置向所述API提供装置发送请求更新所述应用标识对应的令牌的更新请求,所述更新请求中携带所述授权凭证;
所述令牌代理装置接收所述API提供装置验证所述授权凭证后发送的更新后的所述应用标识对应的令牌;
所述令牌代理装置将所述更新后的所述应用标识对应的令牌发送给所述应用客户端,以使所述应用客户端根据所述更新后的所述应用标识对应的令牌向API提供装置请求执行API调用。
结合第一方面的第一种可能的实施方式,在第一方面的第三种可能的实施方式中,所述令牌代理装置根据所述令牌请求消息将对应的令牌发送给所述应用客户端之后,还包括:
所述令牌代理装置在所述令牌达到有效期后,向所述API提供装置发送请求更新所述应用标识对应的令牌的更新请求,所述更新请求中携带所述授权凭证;
所述令牌代理装置接收所述API提供装置验证所述授权凭证后发送的更新后的所述应用标识对应的令牌。
结合第一方面,在第一方面的第四种可能的实施方式中,令牌代理装置触发开发者授权所述令牌代理装置访问应用程序编程接口API提供装置中所述开发者的应用标识和所述应用标识对应的令牌的权限之前,还包括:
所述令牌代理装置向所述API提供装置发送注册信息,以注册成为访问令牌资源的请求者;
所述令牌代理装置接收所述API提供装置发送的用于授权操作的相关信息。
本发明实施例第二方面提供一种令牌获取方法,包括:
应用程序编程接口API提供装置接收令牌代理装置发送的请求授权访问令牌资源的请求消息;
所述API提供装置在获取开发者授权后向所述令牌代理装置发送授权访问所述令牌资源的授权凭证;
所述API提供装置接收所述令牌代理装置发送的携带有所述授权凭证的访问请求,所述访问请求用于请求访问所述开发者的应用标识所对应的令牌;
所述API提供装置验证所述授权凭证后向所述令牌代理装置发送所述应用标识所对应的令牌。
结合第二方面,在第二方面的第一种可能的实施方式中,所述方法还包括:
所述API提供装置接收所述令牌代理装置发送的更新所述应用标识对应的令牌的更新请求,所述更新请求中携带所述授权凭证;
所述API提供装置在验证所述授权凭证后向所述令牌代理装置发送所述应用标识对应的令牌。
结合第二方面,在第二方面的第二种可能的实施方式中,所述API提供装置接收令牌代理装置发送的请求授权访问令牌资源的请求消息之前,还包括:
所述API提供装置开放资源访问接口,以使注册成为访问令牌资源的请求者可以访问应用标识对应的令牌;
所述API提供装置接收所述令牌代理装置的注册信息,所述注册信息用于注册成为访问令牌资源的请求者;
所述API提供装置在所述令牌代理装置注册成功后向所述令牌代理装置发送用于授权操作的相关信息。
结合第二方面,在第二方面的第三种可能的实施方式中,所述方法还包括:所述API提供装置接收应用客户端发送的根据所述应用标识对应的令牌生成的API调用请求,所述调用请求用于请求执行API调用。
结合第二方面的第三种可能的实施方式,在第二方面的第四种可能的实施方式中,所述API提供装置接收应用客户端发送的根据所述应用标识对应的令牌生成的API调用请求之后,还包括:
若所述应用标识对应的令牌失效,所述API提供装置向所述应用客户端发送令牌错误提示消息,以使所述应用客户端向所述令牌代理装置发送请求更新所述应用标识对应的令牌的消息;
所述API提供装置接收所述令牌代理装置发送的更新所述应用标识对应的令牌的更新请求,所述更新请求中携带所述授权凭证;
所述API提供装置在验证所述授权凭证后向所述令牌代理装置发送所述应用标识对应的令牌。
结合第二方面,在第二方面的第五种可能的实施方式中,所述方法还包括:
所述API提供装置接收集成开发环境IDE发送的应用注册信息;
所述API提供装置在所述应用注册信息对应的应用注册完成后,为所述应用分配所述应用标识以及所述应用标识对应的令牌;
所述API提供装置将所述应用标识发送给所述IDE,以使所述IDE导入API信息后记录所述API和所述应用标识的对应关系。
本发明实施例第三方面提供一种令牌获取方法,包括:
应用客户端向令牌代理装置发送令牌请求消息,所述令牌请求消息包含所述应用客户端所要调用的应用程序编程接口API对应的应用标识,以请求所述应用标识对应的令牌;
所述应用客户端接收所述令牌代理装置发送的所述应用标识对应的令牌;
所述应用客户端根据所述应用标识对应的令牌生成API调用请求;
所述应用客户端将所述API调用请求发送给API提供装置,以请求执行API调用。
结合第三方面,在第三方面的第一种可能的实施方式中,所述应用客户端将所述API调用请求发送给API提供装置,以请求执行API调用之后,还包括:
所述应用客户端接收所述API装置发送的令牌错误提示消息;
所述应用客户端向所述令牌代理装置发送请求更新所述应用标识对应的令牌的消息,以使所述令牌代理装置向所述API提供装置发送更新所述应用标识对应的令牌的更新请求;
所述应用客户端接收所述令牌代理装置发送的更新后的所述应用标识对应的令牌。
结合第三方面,在第三方面的第二种可能的实施方式中,所述应用客户端向令牌代理装置发送令牌请求消息之前,还包括:
所述应用客户端向应用服务器发送应用使用者输入的登陆账号;
所述应用客户端接收所述应用服务器在根据所述登陆账号鉴权后返回的登陆凭证;
所述应用客户端向所述应用服务器发送携带有所述登陆凭证的地址请求消息,以请求所述令牌代理装置的地址;
所述应用客户端接收所述应用服务器发送的所述令牌代理装置的地址。
本发明实施例第四方面提供一种令牌代理装置,包括:
触发模块,用于触发开发者授权所述令牌代理装置访问应用程序编程接口API提供装置中所述开发者的应用标识和所述应用标识对应的令牌的权限;
发送模块,用于向所述API提供装置发送请求授权访问令牌资源的请求消息;
接收模块,用于接收所述API提供装置在获取所述开发者授权后发送的授权访问所述令牌资源的授权凭证;
所述发送模块,还用于向所述API提供装置发送携带所述授权凭证的访问请求,所述访问请求用于请求访问所述开发者的应用标识所对应的令牌;
所述接收模块,还用于接收所述API提供装置验证所述授权凭证后发送的所述应用标识所对应的令牌。
结合第四方面,在第四方面的第一种可能的实施方式中,所述接收模块,还用于接收应用客户端发送的令牌请求消息,所述令牌请求消息包含所述应用客户端所要调用的API对应的应用标识,以请求所述应用标识对应的令牌;
所述发送模块,还用于根据所述令牌请求消息将所述应用标识对应的令牌发送给所述应用客户端,以使所述应用客户端根据所述令牌向API提供装置请求执行API调用。
结合第四方面的第一种可能的实施方式,在第四方面的第二种可能的实施方式中,所述接收模块,还用于接收所述应用客户端发送的请求更新所述应用标识对应的令牌的消息;
所述发送模块,还用于向所述API提供装置发送请求更新所述应用标识对应的令牌的更新请求,所述更新请求中携带所述授权凭证;
所述接收模块,还用于接收所述API提供装置验证所述授权凭证后发送的更新后的所述应用标识对应的令牌;
所述发送模块,还用于将所述更新后的所述应用标识对应的令牌发送给所述应用客户端,以使所述应用客户端根据所述更新后的所述应用标识对应的令牌向API提供装置请求执行API调用。
结合第四方面的第一种可能的实施方式,在第四方面的第三种可能的实施方式中,所述发送模块,还用于在所述令牌达到有效期后,向所述API提供装置发送请求更新所述应用标识对应的令牌的更新请求,所述更新请求中携带所述授权凭证;
所述接收模块,用于接收所述API提供装置验证所述授权凭证后发送的更新后的所述应用标识对应的令牌。
结合第四方面,在第四方面的第四种可能的实施方式中,所述发送模块,还用于向所述API提供装置发送注册信息,以注册成为访问令牌资源的请求者;
所述接收模块,用于接收所述API提供装置发送的用于授权操作的相关信息。
本发明实施例第五方面提供一种应用程序编程接口提供装置,包括:
接收模块,用于接收令牌代理装置发送的请求授权访问令牌资源的请求消息;
发送模块,用于在获取开发者授权后向所述令牌代理装置发送授权访问所述令牌资源的授权凭证;
所述接收模块,用于接收所述令牌代理装置发送的携带有所述授权凭证的访问请求,所述访问请求用于请求访问所述开发者的应用标识所对应的令牌;
所述发送模块,用于验证所述授权凭证后向所述令牌代理装置发送所述应用标识所对应的令牌。
结合第五方面,在第五方面的第一种可能的实施方式中,所述接收模块,还用于接收所述令牌代理装置发送的更新所述应用标识对应的令牌的更新请求,所述更新请求中携带所述授权凭证;
所述发送模块,还用于在验证所述授权凭证后向所述令牌代理装置发送所述应用标识对应的令牌。
结合第五方面,在第五方面的第二种可能的实施方式中,所述装置还包括:
处理模块,用于开放资源访问接口,以使注册成为访问令牌资源的请求者可以访问应用标识对应的令牌;
所述接收模块,还用于接收所述令牌代理装置的注册信息,所述注册信息用于注册成为访问令牌资源的请求者;
所述发送模块,还用于在所述令牌代理装置注册成功后向所述令牌代理装置发送用于授权操作的相关信息。
结合第五方面,在第五方面的第三种可能的实施方式中,所述接收模块,还用于接收应用客户端发送的根据所述应用标识对应的令牌生成的API调用请求,所述调用请求用于请求执行API调用。
结合第五方面的第三种可能的实施方式,在第五方面的第四种可能的实施方式中,所述发送模块,还用于在所述应用标识对应的令牌失效时,向所述应用客户端发送令牌错误提示消息,以使所述应用客户端向所述令牌代理装置发送请求更新所述应用标识对应的令牌的消息;
所述接收模块,还用于接收所述令牌代理装置发送的更新所述应用标识对应的令牌的更新请求,所述更新请求中携带所述授权凭证;
所述发送模块,还用于在验证所述授权凭证后向所述令牌代理装置发送所述应用标识对应的令牌。
结合第五方面,在第五方面的第五种可能的实施方式中,所述装置还包括:分配模块;
所述接收模块,还用于接收集成开发环境IDE发送的应用注册信息;
所述分配模块,还用于在所述应用注册信息对应的应用注册完成后,为所述应用分配所述应用标识以及所述应用标识对应的令牌;
所述发送模块,还用于将所述应用标识发送给所述IDE,以使所述IDE导入API信息后记录所述API和所述应用标识的对应关系。
本发明实施例第六方面提供一种应用客户端,包括:
发送模块,用于向令牌代理装置发送令牌请求消息,所述令牌请求消息包含所述应用客户端所要调用的应用程序编程接口API对应的应用标识,以请求所述应用标识对应的令牌;
接收模块,用于接收所述令牌代理装置发送的所述应用标识对应的令牌;
生成模块,用于根据所述应用标识对应的令牌生成API调用请求;
所述发送模块,还用于将所述API调用请求发送给API提供装置,以请求执行API调用。
结合第六方面,在第六方面的第一种可能的实施方式中,所述接收模块,还用于接收所述API装置发送的令牌错误提示消息;
所述发送模块,还用于向所述令牌代理装置发送请求更新所述应用标识对应的令牌的消息,以使所述令牌代理装置向所述API提供装置发送更新所述应用标识对应的令牌的更新请求;
所述接收模块,还用于接收所述令牌代理装置发送的更新后的所述应用标识对应的令牌。
结合第六方面,在第六方面的第二种可能的实施方式中,所述发送模块,还用于向应用服务器发送应用使用者输入的登陆账号;
所述接收模块,还用于接收所述应用服务器在根据所述登陆账号鉴权后返回的登陆凭证;
所述发送模块,还用于向所述应用服务器发送携带有所述登陆凭证的地址请求消息,以请求所述令牌代理装置的地址;
所述接收模块,还用于接收所述应用服务器发送的所述令牌代理装置的地址。
本发明实施例中,令牌代理装置在获取授权凭证后,可以向API Provider请求访问开发者应用标识对应的token,以获取API Provider发送的token,实现了令牌代理中token的更新,这种更新方式与人工更新相比效率大大提高。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的令牌代理装置实施例一的结构示意图;
图2为本发明提供的应用程序编程接口提供装置实施例一的结构示意图;
图3为本发明提供的应用程序编程接口提供装置实施例二的结构示意图;
图4为本发明提供的应用客户端实施例一的结构示意图;
图5为本发明提供的令牌获取方法实施例一的流程示意图;
图6为本发明提供的令牌获取方法实施例二的流程示意图;
图7为本发明提供的令牌获取方法实施例三的流程示意图;
图8为本发明提供的令牌获取方法实施例四的流程示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明提供的令牌代理装置实施例一的结构示意图,如图1所示,该装置包括:触发模块101、发送模块102和接收模块103。其中:
触发模块101,用于触发开发者授权所述令牌代理装置访问API提供装置中所述开发者的应用标识和所述应用标识对应的令牌的权限。
发送模块102,用于向所述API提供装置发送请求授权访问令牌资源的请求消息。
接收模块103,用于接收所述API提供装置在获取所述开发者授权后发送的授权访问所述令牌资源的授权凭证。
发送模块102,还用于向所述API提供装置发送携带所述授权凭证的访问请求,所述访问请求用于请求访问所述开发者的应用标识所对应的令牌。
接收模块103,还用于接收所述API提供装置验证所述授权凭证后发送的所述应用标识所对应的令牌。
本实施例中,令牌代理装置在获取授权凭证后,可以向API Provider请求访问开发者应用标识对应的token,以获取API Provider发送的token,实现了令牌代理中token的更新,这种更新方式与人工更新相比效率大大提高。
进一步地,接收模块103,还用于接收应用客户端发送的令牌请求消息,所述令牌请求消息包含所述应用客户端所要调用的API对应的应用标识,以请求所述应用标识对应的令牌。发送模块102,还用于根据所述令牌请求消息将所述应用标识对应的令牌发送给所述应用客户端,以使所述应用客户端根据所述令牌向API提供装置请求执行API调用。
接收模块103,还用于接收所述应用客户端发送的请求更新所述应用标识对应的令牌的消息。发送模块102,还用于向所述API提供装置发送请求更新所述应用标识对应的令牌的更新请求,所述更新请求中携带所述授权凭证。接收模块103,还用于接收所述API提供装置验证所述授权凭证后发送的更新后的所述应用标识对应的令牌。发送模块102,还用于将所述更新后的所述应用标识对应的令牌发送给所述应用客户端,以使所述应用客户端根据所述更新后的所述应用标识对应的令牌向API提供装置请求执行API调用。
在上述实施例的基础上,发送模块102,还用于在所述令牌达到有效期后,向所述API提供装置发送请求更新所述应用标识对应的令牌的更新请求,所述更新请求中携带所述授权凭证;接收模块103,还用于接收所述API提供装置验证所述授权凭证后发送的更新后的所述应用标识对应的令牌。
发送模块102,还用于向所述API提供装置发送注册信息,以注册成为访问令牌资源的请求者;接收模块103,还用于接收所述API提供装置发送的用于授权操作的相关信息。
上述装置用于执行下述方法实施例,具体执行过程也可参见后续方法实施例。
图2为本发明提供的应用程序编程接口提供装置实施例一的结构示意图,如图2所示,该装置包括:接收模块201和发送模块202。其中:
接收模块201,用于接收令牌代理装置发送的请求授权访问令牌资源的请求消息。发送模块202,用于在获取开发者授权后向所述令牌代理装置发送授权访问所述令牌资源的授权凭证。接收模块201,还用于接收所述令牌代理装置发送的携带有所述授权凭证的访问请求,所述访问请求用于请求访问所述开发者的应用标识所对应的令牌。发送模块202,还用于验证所述授权凭证后向所述令牌代理装置发送所述应用标识所对应的令牌。
本实施例中,API Provider向令牌代理装置发送授权凭证后,根据令牌代理装置发送的访问请求,向令牌代理装置返回token,使得令牌代理装置可以及时更新token。
在上述实施例的基础上,接收模块201,还用于接收所述令牌代理装置发送的更新所述应用标识对应的令牌的更新请求,所述更新请求中携带所述授权凭证。发送模块202,还用于在验证所述授权凭证后向所述令牌代理装置发送所述应用标识对应的令牌。
图3为本发明提供的应用程序编程接口提供装置实施例二的结构示意图,如图3所示,该装置还可以包括:处理模块203,用于开放资源访问接口,以使注册成为访问令牌资源的请求者可以访问应用标识对应的令牌。
上述接收模块201,还用于接收所述令牌代理装置的注册信息,所述注册信息用于注册成为访问令牌资源的请求者。发送模块202,还用于在所述令牌代理装置注册成功后向所述令牌代理装置发送用于授权操作的相关信息。
进一步地,接收模块201,还用于接收应用客户端发送的根据所述应用标识对应的令牌生成的API调用请求,所述调用请求用于请求执行API调用。
更进一步地,发送模块202,还用于在所述应用标识对应的令牌失效时,向所述应用客户端发送令牌错误提示消息,以使所述应用客户端向所述令牌代理装置发送请求更新所述应用标识对应的令牌的消息。接收模块201,还用于接收所述令牌代理装置发送的更新所述应用标识对应的令牌的更新请求,所述更新请求中携带所述授权凭证。发送模块202,还用于在验证所述授权凭证后向所述令牌代理装置发送所述应用标识对应的令牌。
继续参照图3,上述装置还可以包括:分配模块204。
具体地,上述接收模块201,还用于接收集成开发环境IDE发送的应用注册信息。分配模块204,用于在所述应用注册信息对应的应用注册完成后,为所述应用分配所述应用标识以及所述应用标识对应的令牌。发送模块202,还用于将所述应用标识发送给所述IDE,以使所述IDE导入API信息后记录所述API和所述应用标识的对应关系。
图4为本发明提供的应用客户端实施例一的结构示意图,如图4所示,该客户端包括:发送模块401、接收模块402和生成模块403。其中:
发送模块401,用于向令牌代理装置发送令牌请求消息,所述令牌请求消息包含所述应用客户端所要调用的应用程序编程接口API对应的应用标识,以请求所述应用标识对应的令牌。
接收模块402,用于接收所述令牌代理装置发送的所述应用标识对应的令牌。
生成模块403,用于根据所述应用标识对应的令牌生成API调用请求。
本实施例中,发送模块401,还用于将所述API调用请求发送给API提供装置,以请求执行API调用。
上述装置用于执行下述方法实施例,具体执行过程及技术效果也可参见后续方法实施例。
接收模块402,还用于接收所述API装置发送的令牌错误提示消息。发送模块401,还用于向所述令牌代理装置发送请求更新所述应用标识对应的令牌的消息,以使所述令牌代理装置向所述API提供装置发送更新所述应用标识对应的令牌的更新请求。接收模块402,还用于接收所述令牌代理装置发送的更新后的所述应用标识对应的令牌。
更进一步地,发送模块401,还用于向应用服务器发送应用使用者输入的登陆账号。接收模块402,还用于接收所述应用服务器在根据所述登陆账号鉴权后返回的登陆凭证。发送模块401,还用于向所述应用服务器发送携带有所述登陆凭证的地址请求消息,以请求所述令牌代理装置的地址。接收模块402,还用于接收所述应用服务器发送的所述令牌代理装置的地址。
图5为本发明提供的令牌获取方法实施例一的流程示意图,如图5所示,该方法包括:
S501、令牌代理装置(token Proxy)触发开发者(developer)授权该令牌代理装置访问API提供装置(API Provider)中上述开发者的应用标识(APPID)和该应用标识对应的令牌(token)的权限。该步骤可以在developer进行APP部署时进行,也可以独立进行,在此不作限制。
上述developer可以是某个APP的开发商侧的开发人员。
S502、令牌代理装置向上述API提供装置发送请求授权访问令牌资源的请求消息。
以使用OAuth模式为例,令牌代理装置使用Oauthapp_id、Oauthapp_token进行OAuth授权交互,以请求访问令牌资源的权限。
S503、令牌代理装置接收上述API提供装置在获取上述开发者授权后发送的授权访问上述令牌资源的授权凭证。
S504、令牌代理装置向上述API提供装置发送携带上述授权凭证的访问请求,该访问请求用于请求访问上述开发者的应用标识所对应的令牌。
S505、令牌代理装置接收上述API提供装置验证上述授权凭证后发送的上述应用标识所对应的令牌。API Provider同时还可以返回该token有效期等信息。
令牌代理装置可以周期性的执行上述步骤,以使该令牌代理装置中所保存的token及时得到更新。使得后续APP客户端可以从该令牌代理装置获取更新后的token。
本实施例中,令牌代理装置在获取授权凭证后,可以向API Provider请求访问开发者应用标识对应的token,以获取API Provider发送的token,实现了令牌代理中token的更新,这种更新方式与人工更新相比效率大大提高。
进一步地,上述方法还包括:令牌代理装置接收APP客户端发送的令牌请求消息,该令牌请求消息包含上述APP客户端所要调用的API对应的应用标识,以请求该应用标识对应的token。该令牌代理装置根据上述令牌请求消息将上述应用标识对应的token发送给上述APP客户端,以使该APP客户端根据上述token向API Provider请求执行API调用。需要说明的是,这里API对应的应用标识和上述开发者的应用标识是同一应用标识。
令牌代理装置根据上述令牌请求消息将上述应用标识对应的token发送给上述APP客户端之后,该令牌代理装置可能会接收到上述APP客户端发送的请求更新上述应用标识对应的token的消息。令牌代理装置向上述APIProvider发送请求更新上述应用标识对应的token的更新请求,该更新请求中携带上述授权凭证。之后,令牌代理装置接收API Provider验证上述授权凭证后发送的上述应用标识对应的令牌,即令牌代理装置获取了最新的令牌,对其中存储的令牌进行了更新。
具体实现过程中,APP客户端接收到令牌代理装置发送的token之后,APP客户端根据该token生成API调用信息进行API调用,调用过程中,如果该token已经失效,即过了有效期,那么API Provider会向APP客户端发送token错误信息,APP客户端接收到token错误信息后,触发token更新流程,向令牌代理装置发送请求更新上述应用标识对应的token的消息。而现有技术中,面对这种情况只能人工发现错误并手动进行更新。
令牌代理装置根据上述令牌请求消息将上述应用标识对应的token发送给上述APP客户端之后,还存在另一种情况,令牌代理装置在上述token达到有效期后,向上述API Provider发送请求更新上述应用标识对应的token的更新请求,该更新请求中携带上述授权凭证。然后,令牌代理装置接收上述API Provider验证上述授权凭证后发送的更新后的上述应用标识对应的token。该令牌代理装置将更新后的上述应用标识对应的令牌发送给上述APP客户端,以使上述APP客户端根据上述更新后的上述应用标识对应的token向API Provider请求执行API调用。即采用本发明实施例,可以在token的有效期结束后,及时更新token,避免发生API调用过程中出现token无效的情况。
更进一步地,上述令牌代理装置触发开发者授权该令牌代理装置访问API Provider中上述开发者的应用标识和该应用标识对应的令牌的权限之前,上述令牌代理装置向上述API Provider发送注册信息,以注册成为访问令牌资源的请求者。需要说明的是,在此之前,API Provider开放资源访问接口,将上述开发者的应用标识、令牌信息开放给授权后的请求者访问。
令牌代理装置接收上述API Provider发送的用于授权操作的相关信息。这些用于授权操作的相关信息可以包括:上述开发者的应用标识、令牌等。
图6为本发明提供的令牌获取方法实施例二的流程示意图,如图6所示,该方法包括:
S601、API提供装置接收令牌代理装置发送的请求授权访问令牌资源的请求消息。
S602、API提供装置在获取开发者授权后向上述令牌代理装置发送授权访问上述令牌资源的授权凭证。
S603、API提供装置接收上述令牌代理装置发送的携带有上述授权凭证的访问请求,上述访问请求用于请求访问上述开发者的应用标识所对应的令牌。
S604、API提供装置验证上述授权凭证后向上述令牌代理装置发送上述应用标识所对应的令牌。
本实施例中,API Provider向令牌代理装置发送授权凭证后,根据令牌代理装置发送的访问请求,向令牌代理装置返回token,使得令牌代理装置可以及时更新token。
进一步地,API Provider还接收上述令牌代理装置发送的更新上述应用标识对应的令牌的更新请求,上述更新请求中携带上述授权凭证。该APIProvider验证上述授权凭证后向令牌代理装置发送上述应用标识对应的令牌。具体地,有两种情况,一种是令牌代理装置中,原来获取的上述应用标识对应的token有效期结束,需要更新,令牌代理装置会主动发送更新请求;另一种是APP客户端采用获取的token进行API调用时,出现token无效的情况,APP客户端会请求令牌代理装置更新token,此时令牌代理装置也会向API Provider发送更新请求。
API Provider接收令牌代理装置发送的请求授权访问令牌资源的请求消息之前,该API Provider要开放资源访问接口,以使注册成为访问令牌资源的请求者可以访问应用标识对应的令牌。API Provider接收令牌代理装置的注册信息,该注册信息用于注册成为访问令牌资源的请求者。API Provider在上述令牌代理装置注册成功后向上述令牌代理装置发送用于授权操作的相关信息。
在上述实施例的基础上,API Provider接收APP客户端发送的根据上述应用标识对应的token生成的API调用请求,该调用请求用于请求执行API调用。
API Provider接收APP客户端发送的根据上述应用标识对应的token生成的API调用请求之后,若上述应用标识对应的令牌失效,上述API Provider向APP客户端发送令牌错误提示消息,以使上述应用客户端向上述令牌代理装置发送请求更新上述应用标识对应的令牌的消息;API Provider接收令牌代理装置发送的更新上述应用标识对应的令牌的更新请求,上述更新请求中携带上述授权凭证。API Provider在验证上述授权凭证后向令牌代理装置发送上述应用标识对应的令牌。
进一步地,API Provider接收集成开发环境(Integrated DevelopmentEnvironment,简称IDE)发送的应用注册信息。需要说明的是,开发者在IDE中创建APP,为了该APP可以调用API,需要向API Provider注册该APP信息。
API Provider在上述应用注册信息对应的应用注册完成之后,为该应用分配上述应用标识以及该应用标识对应的token。然后,API Provider将上述应用标识发送给IDE,以使该IDE导入API信息后记录上述API和上述应用标识的对应关系。之后,IDE会生成客户端代码,包括从令牌代理装置获取token的代码、根据token生成API调用的代码,API调用过程中遇到token无效时自动更新tolen的代码、从APP服务器获取token proxy地址的代码。
图7为本发明提供的令牌获取方法实施例三的流程示意图,如图7所示,该方法包括:
S701、应用客户端向令牌代理装置发送令牌请求消息。上述令牌请求消息包含该应用客户端所要调用的API对应的应用标识,以请求该应用标识对应的令牌。
S702、应用客户端接收令牌代理装置发送的上述应用标识对应的令牌。
S703、应用客户端根据上述应用标识对应的令牌生成API调用请求。
S704、应用客户端将上述API调用请求发送给API提供装置,以请求执行API调用。
在上述实施例的基础上,应用客户端将上述API调用请求发送给API提供装置,以请求执行API调用之后,应用客户端可能会接收上述API装置发送的令牌错误提示消息。即该API调用中使用的令牌已经无效。于是应用客户端向令牌代理装置发送请求更新上述应用标识对应的令牌的消息,以使该令牌代理装置向上述API提供装置发送更新上述应用标识对应的令牌的更新请求。之后,应用客户端接收令牌代理装置发送的更新后的上述应用标识对应的令牌。即令牌代理装置从API Provider获得更新后的token后,会发送给上述APP客户端。
应用客户端向令牌代理装置发送令牌请求消息之前,该应用客户端向APP服务器(Server)发送应用使用者输入的登陆账号,让APP服务器进行鉴权。APP客户端接收该APP服务器根据上述登陆账号鉴权后返回的登陆凭证。需要说明的是,该登陆凭证是令牌代理装置认可的一个登陆凭证。APP客户端向上述APP服务器发送携带有上述登陆凭证的地址请求消息,以请求上述令牌代理装置的地址。然后,APP客户端接收APP服务器发送的上述令牌代理装置的地址。该APP服务器中存储有令牌代理装置的地址。之后APP客户端在需要进行API调用时,先获取该API对应的应用标识,然后执行上述S701。
图8为本发明提供的令牌获取方法实施例四的流程示意图,以Tester为上述开发者,且天气(Weather)API Provider、短消息(Short Messaging Service,简称SMS)API Provider为上述API提供装置为例,举例说明前述方法流程,如图8所示,该方法包括:
S801、第一API提供装置(Weather API Provider)和第二API提供装置(SMS API Provider)分别开放资源访问接口。
S802、令牌代理装置分别在第一API提供装置(Weather API Provider)和第二API提供装置(SMS API Provider)中注册成为访问令牌资源的请求者。注册成功后,Weather API Provider和SMS API Provider就可以为该令牌代理装置提供用于OAuth授权操作的相关信息了。
Weather API Provider中的数据如表1所示:
表1
Developer | Oauthapp_id | Oauthapp_token | Access Token |
Tester | token Proxy_w | *** |
SMS API Provider中的数据如表2所示:
表2
Developer | Oauthapp_id | Oauthapp_token | Access Token |
Tester | token Proxy_sms | *** |
S803、令牌代理装置分别接收第一API提供装置(Weather API Provider)和第二API提供装置(SMS API Provider)发送的授权相关信息,即OAuth授权操作的相关信息。
Tester在令牌代理装置中的对应数据如表3所示:
表3
API Provider | Oauthapp_id | Oauthapp_token | Access Token |
SMS API Provider | token Proxy_sms | *** | |
Weather API Provider | token Proxy_w | *** |
S804、开发者在IDE中创建一个APP,并分别在第一API提供装置(Weather API Provider)和第二API提供装置(SMS API Provider)中进行注册APP信息。
S805、第一API提供装置(Weather API Provider)和第二API提供装置(SMS API Provider)分别为该APP分配应用标识(app_id)以及该应用标识对应的token。
Weather API Provider分配的数据如表4所示:
表4
Developer | app_id | token |
Tester | app tester_w | *** |
SMS API Provider分配的数据如表5所示:
表5
Developer | app_id | token |
Tester | app tester_sms | *** |
S806、IDE接收第一API提供装置(Weather API Provider)和第二API提供装置(SMS API Provider)发送的上述应用标识。
S807、IDE分别从第一API提供装置(Weather API Provider)和第二API提供装置(SMS API Provider)导入API信息后记录上述API和上述应用标识(app_id)的对应关系。
上述API和上述应用标识(app_id)的对应关系如表6所示:
表6
API | app_id |
SMS API | app tester_sms |
Weather API | app tester_w |
S808、IDE生成客户端代码,包括从令牌代理装置获取token的代码、根据token生成API调用的代码,API调用过程中遇到token无效时自动更新tolen的代码、从APP服务器获取token proxy地址的代码。
S809、令牌代理装置触发开发者分别授权该令牌代理装置访问第一API提供装置(Weather API Provider)和第二API提供装置(SMS API Provider)中的应用标识和该应用标识对应的令牌。
S810、令牌代理装置分别向第一API提供装置(Weather API Provider)和第二API提供装置(SMS API Provider)发送请求授权访问令牌资源的请求消息。
S811、令牌代理装置分别接收第一API提供装置(Weather API Provider)和第二API提供装置(SMS API Provider)发送的授权访问上述令牌资源的授权凭证。令牌代理装置保存该授权凭证,在后续步骤中可用于token资源的访问。
此时,Tester在令牌代理装置中的对应数据如表7所示:
表7
API Provider | Oauthapp_id | Oauthapp_token | Access Token |
SMS API Provider | token Proxy_sms | *** | *** |
Weather API Provider | token Proxy_w | *** | *** |
S812、令牌代理装置分别向第一API提供装置(Weather API Provider)和第二API提供装置(SMS API Provider)发送携带对应授权凭证的访问请求,该访问请求用于请求访问上述开发者的应用标识所对应的令牌。
S813、令牌代理装置分别接收第一API提供装置(Weather API Provider)和第二API提供装置(SMS API Provider)验证上述授权凭证后发送的上述应用标识所对应的令牌。
令牌代理装置将接收到的令牌进行存储,如表8所示:
表8
API Provider | app_id | token | expire |
SMS API Provider | app tester_sms | *** | *** |
Weather API Provider | app tester_w | *** | *** |
S814、APP客户端向APP服务器发送应用使用者输入的登陆账号,APP服务器鉴权后返回登陆凭证。
S815、APP客户端上述APP服务器发送携带有上述登陆凭证的地址请求消息,以请求上述令牌代理装置的地址。
S816、APP客户端接收APP服务器发送的上述令牌代理装置的地址。
S817、APP客户端在需要进行API调用时,APP客户端向令牌代理装置发送令牌请求消息。上述令牌请求消息包含该应用客户端所要调用的API对应的应用标识,以请求该应用标识对应的令牌。例如,要调用Weather API API,那么携带app tester_w以及其对应的令牌。
S818、APP客户端根据令牌代理装置返回的令牌生成API调用请求。
S819、APP客户端上述API调用请求发送给对应的API提供装置,以请求执行API调用。例如前面是携带app tester_w获取的令牌,那么这里就发送给Weather API Provider。
S820、若APP客户端接收到API提供装置返回的令牌错误提示消息,则触发令牌更新。
S821、APP客户端向令牌代理装置发送请求更新上述应用标识对应的令牌的消息,以获取更新后的令牌。请求消息中要携带前述登陆凭证。
本发明实施例还提供一种令牌代理装置,包括:处理器、接收器、发送器。其中:
处理器,用于触发开发者授权所述令牌代理装置访问应用程序编程接口API提供装置中所述开发者的应用标识和所述应用标识对应的令牌的权限。
发送器,用于向所述API提供装置发送请求授权访问令牌资源的请求消息;向所述API提供装置发送携带授权凭证的访问请求,所述访问请求用于请求访问所述开发者的应用标识所对应的令牌。
接收器,用于接收所述API提供装置在获取所述开发者授权后发送的授权访问所述令牌资源的授权凭证;接收所述API提供装置验证所述授权凭证后发送的所述应用标识所对应的令牌。
进一步地,上述接收器,还用于接收应用客户端发送的令牌请求消息,所述令牌请求消息包含所述应用客户端所要调用的API对应的应用标识,以请求所述应用标识对应的令牌。发送器,还用于根据所述令牌请求消息将所述应用标识对应的令牌发送给所述应用客户端,以使所述应用客户端根据所述令牌向API提供装置请求执行API调用。
上述接收器,还用于接收所述应用客户端发送的请求更新所述应用标识对应的令牌的消息。发送器,还用于向所述API提供装置发送请求更新所述应用标识对应的令牌的更新请求,所述更新请求中携带所述授权凭证。接收器,还用于接收所述API提供装置验证所述授权凭证后发送的更新后的所述应用标识对应的令牌。发送器,还用于将所述更新后的所述应用标识对应的令牌发送给所述应用客户端,以使所述应用客户端根据所述更新后的所述应用标识对应的令牌向API提供装置请求执行API调用。
在上述实施例的基础上,发送器,还用于在所述令牌达到有效期后,向所述API提供装置发送请求更新所述应用标识对应的令牌的更新请求,所述更新请求中携带所述授权凭证;接收器,还用于接收所述API提供装置验证所述授权凭证后发送的更新后的所述应用标识对应的令牌。
发送器,还用于向所述API提供装置发送注册信息,以注册成为访问令牌资源的请求者。接收器,还用于接收所述API提供装置发送的用于授权操作的相关信息。
上述装置用于执行前述方法实施例,其技术原理和技术效果类似,在此不再赘述。
本发明实施例还提供另一种应用程序编程接口提供装置,包括:发送器和接收器。其中:
接收器,用于接收令牌代理装置发送的请求授权访问令牌资源的请求消息;接收所述令牌代理装置发送的携带有授权凭证的访问请求,所述访问请求用于请求访问所述开发者的应用标识所对应的令牌。
发送器,用于在获取开发者授权后向所述令牌代理装置发送授权访问所述令牌资源的授权凭证;验证所述授权凭证后向所述令牌代理装置发送所述应用标识所对应的令牌。
进一步地,接收器,还用于接收所述令牌代理装置发送的更新所述应用标识对应的令牌的更新请求,所述更新请求中携带所述授权凭证。
发送器,还用于在验证所述授权凭证后向所述令牌代理装置发送所述应用标识对应的令牌。
所述应用程序编程接口提供装置,还包括:处理器。处理器,用于开放资源访问接口,以使注册成为访问令牌资源的请求者可以访问应用标识对应的令牌。相应地,上述接收器,还用于接收所述令牌代理装置的注册信息,所述注册信息用于注册成为访问令牌资源的请求者。发送器,还用于在所述令牌代理装置注册成功后向所述令牌代理装置发送用于授权操作的相关信息。
接收器,还用于接收应用客户端发送的根据所述应用标识对应的令牌生成的API调用请求,所述调用请求用于请求执行API调用。
更进一步地,发送器,还用于在所述应用标识对应的令牌失效时,向所述应用客户端发送令牌错误提示消息,以使所述应用客户端向所述令牌代理装置发送请求更新所述应用标识对应的令牌的消息。接收器,还用于接收所述令牌代理装置发送的更新所述应用标识对应的令牌的更新请求,所述更新请求中携带所述授权凭证。相应地,发送器,还用于在验证所述授权凭证后向所述令牌代理装置发送所述应用标识对应的令牌。
接收器,还用于接收IDE发送的应用注册信息。所述处理器,用于在所述应用注册信息对应的应用注册完成后,为所述应用分配所述应用标识以及所述应用标识对应的令牌。相应地,发送器,将所述应用标识发送给所述IDE,以使所述IDE导入API信息后记录所述API和所述应用标识的对应关系。
上述装置用于执行前述方法实施例,其技术原理和技术效果类似,在此不再赘述。
本发明实施例还提供一种应用客户端,包括:处理器、发送器和接收器。其中,发送器,用于向令牌代理装置发送令牌请求消息,所述令牌请求消息包含所述应用客户端所要调用的应用程序编程接口API对应的应用标识,以请求所述应用标识对应的令牌。接收器,用于接收所述令牌代理装置发送的所述应用标识对应的令牌。处理器,用于根据所述应用标识对应的令牌生成API调用请求。相应地,发送器将所述API调用请求发送给API提供装置,以请求执行API调用。
进一步地,接收器,接收所述API装置发送的令牌错误提示消息。发送器,向所述令牌代理装置发送请求更新所述应用标识对应的令牌的消息,以使所述令牌代理装置向所述API提供装置发送更新所述应用标识对应的令牌的更新请求。相应地,接收器,还用于接收所述令牌代理装置发送的更新后的所述应用标识对应的令牌。
更进一步地,发送器,还用于向应用服务器发送应用使用者输入的登陆账号。接收器,还用于接收所述应用服务器在根据所述登陆账号鉴权后返回的登陆凭证。相应地,发送器,还用于向所述应用服务器发送携带有所述登陆凭证的地址请求消息,以请求所述令牌代理装置的地址;接收器,还用于接收所述应用服务器发送的所述令牌代理装置的地址。
上述装置用于执行前述方法实施例,其技术原理和技术效果类似,在此不再赘述。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (28)
1.一种令牌代理装置,其特征在于,包括:
触发模块,用于触发开发者授权所述令牌代理装置访问应用程序编程接口API提供装置中所述开发者的应用标识和所述应用标识对应的令牌的权限;
发送模块,用于向所述API提供装置发送请求授权访问令牌资源的请求消息;
接收模块,用于接收所述API提供装置在获取所述开发者授权后发送的授权访问所述令牌资源的授权凭证;
所述发送模块,还用于向所述API提供装置发送携带所述授权凭证的访问请求,所述访问请求用于请求访问所述开发者的应用标识所对应的令牌;
所述接收模块,还用于接收所述API提供装置验证所述授权凭证后发送的所述应用标识所对应的令牌。
2.根据权利要求1所述的装置,其特征在于,所述接收模块,还用于接收应用客户端发送的令牌请求消息,所述令牌请求消息包含所述应用客户端所要调用的API对应的应用标识,以请求所述应用标识对应的令牌;
所述发送模块,还用于根据所述令牌请求消息将所述应用标识对应的令牌发送给所述应用客户端,以使所述应用客户端根据所述令牌向API提供装置请求执行API调用。
3.根据权利要求2所述的装置,其特征在于,所述接收模块,还用于接收所述应用客户端发送的请求更新所述应用标识对应的令牌的消息;
所述发送模块,还用于向所述API提供装置发送请求更新所述应用标识对应的令牌的更新请求,所述更新请求中携带所述授权凭证;
所述接收模块,还用于接收所述API提供装置验证所述授权凭证后发送的更新后的所述应用标识对应的令牌;
所述发送模块,还用于将所述更新后的所述应用标识对应的令牌发送给所述应用客户端,以使所述应用客户端根据所述更新后的所述应用标识对应的令牌向API提供装置请求执行API调用。
4.根据权利要求2所述的装置,其特征在于,所述发送模块,还用于在所述令牌达到有效期后,向所述API提供装置发送请求更新所述应用标识对应的令牌的更新请求,所述更新请求中携带所述授权凭证;
所述接收模块,还用于接收所述API提供装置验证所述授权凭证后发送的更新后的所述应用标识对应的令牌。
5.根据权利要求1所述的装置,其特征在于,所述发送模块,还用于向所述API提供装置发送注册信息,以注册成为访问令牌资源的请求者;
所述接收模块,还用于接收所述API提供装置发送的用于授权操作的相关信息。
6.一种应用程序编程接口提供装置,其特征在于,包括:
接收模块,用于接收令牌代理装置发送的请求授权访问令牌资源的请求消息;
发送模块,用于在获取开发者授权后向所述令牌代理装置发送授权访问所述令牌资源的授权凭证;
所述接收模块,用于接收所述令牌代理装置发送的携带有所述授权凭证的访问请求,所述访问请求用于请求访问所述开发者的应用标识所对应的令牌;
所述发送模块,用于验证所述授权凭证后向所述令牌代理装置发送所述应用标识所对应的令牌。
7.根据权利要求6所述装置,其特征在于,所述接收模块,还用于接收所述令牌代理装置发送的更新所述应用标识对应的令牌的更新请求,所述更新请求中携带所述授权凭证;
所述发送模块,还用于在验证所述授权凭证后向所述令牌代理装置发送所述应用标识对应的令牌。
8.根据权利要求6所述装置,其特征在于,还包括:
处理模块,用于开放资源访问接口,以使注册成为访问令牌资源的请求者可以访问应用标识对应的令牌;
所述接收模块,还用于接收所述令牌代理装置的注册信息,所述注册信息用于注册成为访问令牌资源的请求者;
所述发送模块,还用于在所述令牌代理装置注册成功后向所述令牌代理装置发送用于授权操作的相关信息。
9.根据权利要求6所述装置,其特征在于,所述接收模块,还用于接收应用客户端发送的根据所述应用标识对应的令牌生成的API调用请求,所述调用请求用于请求执行API调用。
10.根据权利要求9所述装置,其特征在于,所述发送模块,还用于在所述应用标识对应的令牌失效时,向所述应用客户端发送令牌错误提示消息,以使所述应用客户端向所述令牌代理装置发送请求更新所述应用标识对应的令牌的消息;
所述接收模块,还用于接收所述令牌代理装置发送的更新所述应用标识对应的令牌的更新请求,所述更新请求中携带所述授权凭证;
所述发送模块,还用于在验证所述授权凭证后向所述令牌代理装置发送所述应用标识对应的令牌。
11.根据权利要求6所述装置,其特征在于,还包括:分配模块;
所述接收模块,还用于接收集成开发环境IDE发送的应用注册信息;
所述分配模块,用于在所述应用注册信息对应的应用注册完成后,为所述应用分配所述应用标识以及所述应用标识对应的令牌;
所述发送模块,还用于将所述应用标识发送给所述IDE,以使所述IDE导入API信息后记录所述API和所述应用标识的对应关系。
12.一种应用客户端,其特征在于,包括:
发送模块,用于向令牌代理装置发送令牌请求消息,所述令牌请求消息包含所述应用客户端所要调用的应用程序编程接口API对应的应用标识,以请求所述应用标识对应的令牌;
接收模块,用于接收所述令牌代理装置发送的所述应用标识对应的令牌;
生成模块,用于根据所述应用标识对应的令牌生成API调用请求;
所述发送模块,还用于将所述API调用请求发送给API提供装置,以请求执行API调用。
13.根据权利要求12所述的应用客户端,其特征在于,所述接收模块,还用于接收所述API装置发送的令牌错误提示消息;
所述发送模块,还用于向所述令牌代理装置发送请求更新所述应用标识对应的令牌的消息,以使所述令牌代理装置向所述API提供装置发送更新所述应用标识对应的令牌的更新请求;
所述接收模块,还用于接收所述令牌代理装置发送的更新后的所述应用标识对应的令牌。
14.根据权利要求12所述的应用客户端,其特征在于,所述发送模块,还用于向应用服务器发送应用使用者输入的登陆账号;
所述接收模块,还用于接收所述应用服务器在根据所述登陆账号鉴权后返回的登陆凭证;
所述发送模块,还用于向所述应用服务器发送携带有所述登陆凭证的地址请求消息,以请求所述令牌代理装置的地址;
所述接收模块,还用于接收所述应用服务器发送的所述令牌代理装置的地址。
15.一种令牌获取方法,其特征在于,包括:
令牌代理装置触发开发者授权所述令牌代理装置访问应用程序编程接口API提供装置中所述开发者的应用标识和所述应用标识对应的令牌的权限;
所述令牌代理装置向所述API提供装置发送请求授权访问令牌资源的请求消息;
所述令牌代理装置接收所述API提供装置在获取所述开发者授权后发送的授权访问所述令牌资源的授权凭证;
所述令牌代理装置向所述API提供装置发送携带所述授权凭证的访问请求,所述访问请求用于请求访问所述开发者的应用标识所对应的令牌;
所述令牌代理装置接收所述API提供装置验证所述授权凭证后发送的所述应用标识所对应的令牌。
16.根据权利要求15所述的方法,其特征在于,还包括:
所述令牌代理装置接收应用客户端发送的令牌请求消息,所述令牌请求消息包含所述应用客户端所要调用的API对应的应用标识,以请求所述应用标识对应的令牌;
所述令牌代理装置根据所述令牌请求消息将所述应用标识对应的令牌发送给所述应用客户端,以使所述应用客户端根据所述令牌向API提供装置请求执行API调用。
17.根据权利要求16所述的方法,其特征在于,所述令牌代理装置根据所述令牌请求消息将所述应用标识对应的令牌发送给所述应用客户端之后,还包括:
所述令牌代理装置接收所述应用客户端发送的请求更新所述应用标识对应的令牌的消息;
所述令牌代理装置向所述API提供装置发送请求更新所述应用标识对应的令牌的更新请求,所述更新请求中携带所述授权凭证;
所述令牌代理装置接收所述API提供装置验证所述授权凭证后发送的更新后的所述应用标识对应的令牌;
所述令牌代理装置将所述更新后的所述应用标识对应的令牌发送给所述应用客户端,以使所述应用客户端根据所述更新后的所述应用标识对应的令牌向API提供装置请求执行API调用。
18.根据权利要求16所述的方法,其特征在于,所述令牌代理装置根据所述令牌请求消息将对应的令牌发送给所述应用客户端之后,还包括:
所述令牌代理装置在所述令牌达到有效期后,向所述API提供装置发送请求更新所述应用标识对应的令牌的更新请求,所述更新请求中携带所述授权凭证;
所述令牌代理装置接收所述API提供装置验证所述授权凭证后发送的更新后的所述应用标识对应的令牌。
19.根据权利要求15所述的方法,其特征在于,令牌代理装置触发开发者授权所述令牌代理装置访问应用程序编程接口API提供装置中所述开发者的应用标识和所述应用标识对应的令牌的权限之前,还包括:
所述令牌代理装置向所述API提供装置发送注册信息,以注册成为访问令牌资源的请求者;
所述令牌代理装置接收所述API提供装置发送的用于授权操作的相关信息。
20.一种令牌获取方法,其特征在于,包括:
应用程序编程接口API提供装置接收令牌代理装置发送的请求授权访问令牌资源的请求消息;
所述API提供装置在获取开发者授权后向所述令牌代理装置发送授权访问所述令牌资源的授权凭证;
所述API提供装置接收所述令牌代理装置发送的携带有所述授权凭证的访问请求,所述访问请求用于请求访问所述开发者的应用标识所对应的令牌;
所述API提供装置验证所述授权凭证后向所述令牌代理装置发送所述应用标识所对应的令牌。
21.根据权利要求20所述的方法,其特征在于,还包括:
所述API提供装置接收所述令牌代理装置发送的更新所述应用标识对应的令牌的更新请求,所述更新请求中携带所述授权凭证;
所述API提供装置在验证所述授权凭证后向所述令牌代理装置发送所述应用标识对应的令牌。
22.根据权利要求20所述的方法,其特征在于,所述API提供装置接收令牌代理装置发送的请求授权访问令牌资源的请求消息之前,还包括:
所述API提供装置开放资源访问接口,以使注册成为访问令牌资源的请求者可以访问应用标识对应的令牌;
所述API提供装置接收所述令牌代理装置的注册信息,所述注册信息用于注册成为访问令牌资源的请求者;
所述API提供装置在所述令牌代理装置注册成功后向所述令牌代理装置发送用于授权操作的相关信息。
23.根据权利要求20所述的方法,其特征在于,还包括:
所述API提供装置接收应用客户端发送的根据所述应用标识对应的令牌生成的API调用请求,所述调用请求用于请求执行API调用。
24.根据权利要求23所述的方法,其特征在于,所述API提供装置接收应用客户端发送的根据所述应用标识对应的令牌生成的API调用请求之后,还包括:
若所述应用标识对应的令牌失效,所述API提供装置向所述应用客户端发送令牌错误提示消息,以使所述应用客户端向所述令牌代理装置发送请求更新所述应用标识对应的令牌的消息;
所述API提供装置接收所述令牌代理装置发送的更新所述应用标识对应的令牌的更新请求,所述更新请求中携带所述授权凭证;
所述API提供装置在验证所述授权凭证后向所述令牌代理装置发送所述应用标识对应的令牌。
25.根据权利要求20所述的方法,其特征在于,还包括:
所述API提供装置接收集成开发环境IDE发送的应用注册信息;
所述API提供装置在所述应用注册信息对应的应用注册完成后,为所述应用分配所述应用标识以及所述应用标识对应的令牌;
所述API提供装置将所述应用标识发送给所述IDE,以使所述IDE导入API信息后记录所述API和所述应用标识的对应关系。
26.一种令牌获取方法,其特征在于,包括:
应用客户端向令牌代理装置发送令牌请求消息,所述令牌请求消息包含所述应用客户端所要调用的应用程序编程接口API对应的应用标识,以请求所述应用标识对应的令牌;
所述应用客户端接收所述令牌代理装置发送的所述应用标识对应的令牌;
所述应用客户端根据所述应用标识对应的令牌生成API调用请求;
所述应用客户端将所述API调用请求发送给API提供装置,以请求执行API调用。
27.根据权利要求26所述的方法,其特征在于,所述应用客户端将所述API调用请求发送给API提供装置,以请求执行API调用之后,还包括:
所述应用客户端接收所述API装置发送的令牌错误提示消息;
所述应用客户端向所述令牌代理装置发送请求更新所述应用标识对应的令牌的消息,以使所述令牌代理装置向所述API提供装置发送更新所述应用标识对应的令牌的更新请求;
所述应用客户端接收所述令牌代理装置发送的更新后的所述应用标识对应的令牌。
28.根据权利要求26所述的方法,其特征在于,所述应用客户端向令牌代理装置发送令牌请求消息之前,还包括:
所述应用客户端向应用服务器发送应用使用者输入的登陆账号;
所述应用客户端接收所述应用服务器在根据所述登陆账号鉴权后返回的登陆凭证;
所述应用客户端向所述应用服务器发送携带有所述登陆凭证的地址请求消息,以请求所述令牌代理装置的地址;
所述应用客户端接收所述应用服务器发送的所述令牌代理装置的地址。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410039917.2A CN103780396B (zh) | 2014-01-27 | 2014-01-27 | 令牌获取方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410039917.2A CN103780396B (zh) | 2014-01-27 | 2014-01-27 | 令牌获取方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103780396A true CN103780396A (zh) | 2014-05-07 |
CN103780396B CN103780396B (zh) | 2017-08-25 |
Family
ID=50572270
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410039917.2A Active CN103780396B (zh) | 2014-01-27 | 2014-01-27 | 令牌获取方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103780396B (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104539589A (zh) * | 2014-12-10 | 2015-04-22 | 华为软件技术有限公司 | 授权方法、服务器和客户端 |
CN105491001A (zh) * | 2015-05-14 | 2016-04-13 | 瑞数信息技术(上海)有限公司 | 一种安全通讯方法和装置 |
CN107004192A (zh) * | 2014-11-26 | 2017-08-01 | 维萨国际服务协会 | 经由访问装置的令牌化请求 |
CN107645474A (zh) * | 2016-07-20 | 2018-01-30 | 腾讯科技(深圳)有限公司 | 登录开放平台的方法及登录开放平台的装置 |
CN108259432A (zh) * | 2016-12-29 | 2018-07-06 | 亿阳安全技术有限公司 | 一种api调用的管理方法、设备及系统 |
US10142297B2 (en) | 2015-05-14 | 2018-11-27 | River Security Inc. | Secure communication method and apparatus |
CN111581628A (zh) * | 2020-05-13 | 2020-08-25 | 广州市百果园信息技术有限公司 | 令牌获取方法、装置、设备及存储介质 |
CN112136303A (zh) * | 2018-05-24 | 2020-12-25 | 国际商业机器公司 | 用于耗时操作的刷新令牌的安全委托 |
CN112910857A (zh) * | 2014-09-15 | 2021-06-04 | 佩里梅特雷克斯公司 | 分析客户端应用行为以检测异常并且阻止访问 |
CN114500078A (zh) * | 2022-02-14 | 2022-05-13 | 北京高途云集教育科技有限公司 | 一种授权管理方法、装置、计算机设备和存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030226036A1 (en) * | 2002-05-30 | 2003-12-04 | International Business Machines Corporation | Method and apparatus for single sign-on authentication |
CN102378170A (zh) * | 2010-08-27 | 2012-03-14 | 中国移动通信有限公司 | 一种鉴权及业务调用方法、装置和系统 |
CN103441857A (zh) * | 2013-09-18 | 2013-12-11 | Tcl集团股份有限公司 | 一种网络电视用户增值服务整合方法及系统 |
EP2806612A1 (en) * | 2012-01-20 | 2014-11-26 | Huawei Technologies Co., Ltd | Method, device and system for using and invoking oauth api |
-
2014
- 2014-01-27 CN CN201410039917.2A patent/CN103780396B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030226036A1 (en) * | 2002-05-30 | 2003-12-04 | International Business Machines Corporation | Method and apparatus for single sign-on authentication |
CN102378170A (zh) * | 2010-08-27 | 2012-03-14 | 中国移动通信有限公司 | 一种鉴权及业务调用方法、装置和系统 |
EP2806612A1 (en) * | 2012-01-20 | 2014-11-26 | Huawei Technologies Co., Ltd | Method, device and system for using and invoking oauth api |
CN103441857A (zh) * | 2013-09-18 | 2013-12-11 | Tcl集团股份有限公司 | 一种网络电视用户增值服务整合方法及系统 |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11606374B2 (en) | 2014-09-15 | 2023-03-14 | PerimeterX, Inc. | Analyzing client application behavior to detect anomalies and prevent access |
US11924234B2 (en) | 2014-09-15 | 2024-03-05 | PerimeterX, Inc. | Analyzing client application behavior to detect anomalies and prevent access |
CN112910857A (zh) * | 2014-09-15 | 2021-06-04 | 佩里梅特雷克斯公司 | 分析客户端应用行为以检测异常并且阻止访问 |
CN107004192A (zh) * | 2014-11-26 | 2017-08-01 | 维萨国际服务协会 | 经由访问装置的令牌化请求 |
CN107004192B (zh) * | 2014-11-26 | 2021-08-13 | 维萨国际服务协会 | 用于经由访问装置的令牌化请求的方法和设备 |
US11620643B2 (en) | 2014-11-26 | 2023-04-04 | Visa International Service Association | Tokenization request via access device |
CN104539589A (zh) * | 2014-12-10 | 2015-04-22 | 华为软件技术有限公司 | 授权方法、服务器和客户端 |
US10142297B2 (en) | 2015-05-14 | 2018-11-27 | River Security Inc. | Secure communication method and apparatus |
CN105491001B (zh) * | 2015-05-14 | 2017-02-22 | 瑞数信息技术(上海)有限公司 | 一种安全通讯方法和装置 |
CN105491001A (zh) * | 2015-05-14 | 2016-04-13 | 瑞数信息技术(上海)有限公司 | 一种安全通讯方法和装置 |
CN107645474B (zh) * | 2016-07-20 | 2020-02-14 | 腾讯科技(深圳)有限公司 | 登录开放平台的方法及登录开放平台的装置 |
CN107645474A (zh) * | 2016-07-20 | 2018-01-30 | 腾讯科技(深圳)有限公司 | 登录开放平台的方法及登录开放平台的装置 |
CN108259432A (zh) * | 2016-12-29 | 2018-07-06 | 亿阳安全技术有限公司 | 一种api调用的管理方法、设备及系统 |
CN112136303A (zh) * | 2018-05-24 | 2020-12-25 | 国际商业机器公司 | 用于耗时操作的刷新令牌的安全委托 |
CN112136303B (zh) * | 2018-05-24 | 2023-02-17 | 国际商业机器公司 | 用于耗时操作的刷新令牌的安全委托 |
CN111581628A (zh) * | 2020-05-13 | 2020-08-25 | 广州市百果园信息技术有限公司 | 令牌获取方法、装置、设备及存储介质 |
CN111581628B (zh) * | 2020-05-13 | 2023-04-28 | 广州市百果园信息技术有限公司 | 令牌获取方法、装置、设备及存储介质 |
CN114500078A (zh) * | 2022-02-14 | 2022-05-13 | 北京高途云集教育科技有限公司 | 一种授权管理方法、装置、计算机设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN103780396B (zh) | 2017-08-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103780396A (zh) | 令牌获取方法及装置 | |
JP4685876B2 (ja) | 複数の信用証明認証プロトコルを提供するシステム及び方法 | |
CN102710640B (zh) | 请求授权的方法、装置和系统 | |
NZ751426A (en) | Iot provisioning service | |
WO2016173199A1 (zh) | 一种移动应用单点登录方法及装置 | |
US9071422B2 (en) | Access authentication method for multiple devices and platforms | |
CN104079409A (zh) | 账号的登录方法及装置 | |
CN104378342A (zh) | 多账号验证方法、装置及系统 | |
CN104243157A (zh) | 一种用于用户身份认证的方法和装置 | |
CN103685267A (zh) | 数据访问方法及装置 | |
CN104954330A (zh) | 一种对数据资源进行访问的方法、装置和系统 | |
CN108718337B (zh) | 网站账号登录、验证、验证信息处理方法、装置及系统 | |
CN103944883A (zh) | 一种云计算环境下云应用访问控制的系统及方法 | |
CN110365684B (zh) | 应用集群的访问控制方法、装置和电子设备 | |
US9742750B2 (en) | Roaming internet-accessible application state across trusted and untrusted platforms | |
CN104935435A (zh) | 登录方法、终端及应用服务器 | |
CN104601582A (zh) | 一种传送文件的方法、装置和系统 | |
CN111259356B (zh) | 授权方法、辅助授权组件、管理服务器和计算机可读介质 | |
CN104866743A (zh) | 一种浏览器中接口调用方法以及装置 | |
CN105791249A (zh) | 一种第三方应用处理方法、装置以及系统 | |
US10218700B2 (en) | Authorizations for computing devices to access a protected resource | |
CN110248356B (zh) | 信息获取方法及装置 | |
US20220019644A1 (en) | Method for providing cloud-based service | |
US9455972B1 (en) | Provisioning a mobile device with a security application on the fly | |
US10616262B2 (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: 20200211 Address after: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen Patentee after: HUAWEI TECHNOLOGIES Co.,Ltd. Address before: 210012 Ande Gate No. 94, Yuhuatai District, Jiangsu, Nanjing Patentee before: Huawei Technologies Co.,Ltd. |
|
TR01 | Transfer of patent right |