CN112560009A - 一种鉴权方法、终端、客户端及计算机存储介质 - Google Patents
一种鉴权方法、终端、客户端及计算机存储介质 Download PDFInfo
- Publication number
- CN112560009A CN112560009A CN202011534245.4A CN202011534245A CN112560009A CN 112560009 A CN112560009 A CN 112560009A CN 202011534245 A CN202011534245 A CN 202011534245A CN 112560009 A CN112560009 A CN 112560009A
- Authority
- CN
- China
- Prior art keywords
- authorization code
- target service
- state
- terminal
- application program
- 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
- 238000000034 method Methods 0.000 title claims abstract description 75
- 238000013475 authorization Methods 0.000 claims abstract description 275
- 238000004891 communication Methods 0.000 claims description 32
- 238000012795 verification Methods 0.000 claims description 19
- 230000001419 dependent effect Effects 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 22
- 230000006870 function Effects 0.000 description 10
- 238000004590 computer program Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 5
- 230000003993 interaction Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- GOLXNESZZPUPJE-UHFFFAOYSA-N spiromesifen Chemical compound CC1=CC(C)=CC(C)=C1C(C(O1)=O)=C(OC(=O)CC(C)(C)C)C11CCCC1 GOLXNESZZPUPJE-UHFFFAOYSA-N 0.000 description 2
- 101100217298 Mus musculus Aspm gene Proteins 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本申请实施例公开了一种鉴权方法,该方法应用于终端中,该终端中安装有应用程序,包括:当应用程序接入SDK,并从SDK中调用目标业务时,从终端的鉴权数据库中获取目标业务的授权码的状态,当目标业务的授权码的状态为可授权状态时,授予目标业务的使用权限至应用程序,当目标业务的授权码的状态为不可授权状态时,禁止授予目标业务的使用权限至应用程序。本申请实施例还同时提供了一种终端、客户端及计算机存储介质。
Description
技术领域
本申请涉及软件开发工具包(SDK,Software Development Kit)鉴权技术,尤其涉及一种鉴权方法、终端、客户端及计算机存储介质。
背景技术
目前,市场上支持SDK鉴权的,一般采用在线鉴权,当应用程序接入SDK时,需要在应用程序的Application中进行初始化,进行在线鉴权,或者在使用业务时进行在线鉴权。
然而使用在线鉴权,在无网络的情况下,可能导致鉴权失败,SDK能力得不到正常使用,同时,在线鉴权有一个网络请求的过程,根据网络状况的良好程度,造成不同的返回结果时延,影响用户的体验度;由此可以看出,现有的SDK的鉴权方法存在鉴权效率低下的技术问题。
发明内容
本申请实施例提供一种鉴权方法、终端、客户端及计算机存储介质,能够提高SDK鉴权的鉴权效率。
本申请的技术方案是这样实现的:
本申请实施例提供了一种鉴权方法,该方法应用于终端中,所述终端中安装有应用程序,包括:
当所述应用程序接入SDK,并从所述SDK中调用目标业务时,从所述终端的鉴权数据库中获取所述目标业务的授权码的状态;
当所述目标业务的授权码的状态为可授权状态时,授予所述目标业务的使用权限至所述应用程序;
当所述目标业务的授权码的状态为不可授权状态时,禁止授予所述目标业务的使用权限至所述应用程序;
其中,所述使用权限用于所述应用程序使用所述目标业务。
本申请实施例提供了一种鉴权方法,所述方法应用于应用程序的客户端中,所述客户端安装于终端中,包括:
当所述应用程序接入SDK,并从所述SDK中调用目标业务,且所述目标业务的授权码的状态为可授权状态时,接收来自所述终端所授予的所述目标业务的使用权限,使用所述目标业务;
当所述目标业务的授权码的状态为不可授权状态时,禁止使用所述目标业务。
本申请实施例提供了一种终端,所述终端中安装有应用程序,包括:
获取模块,用于当所述应用程序接入SDK,并从所述SDK中调用目标业务时,从所述终端的鉴权数据库中获取所述目标业务的授权码的状态;
授予模块,用于当所述目标业务的授权码的状态为可授权状态时,授予所述目标业务的使用权限至所述应用程序;
禁止授予模块,用于当所述目标业务的授权码的状态为不可授权状态时,禁止授予所述目标业务的使用权限至所述应用程序;
其中,所述使用权限用于所述应用程序使用所述目标业务。
本申请实施例提供了一种客户端,所述客户端为应用程序的客户端,且安装于终端中,包括:
使用模块,用于当所述应用程序接入SDK,并从所述SDK中调用目标业务,且所述目标业务的授权码的状态为可授权状态时,接收来自所述终端所授予的所述目标业务的使用权限,使用所述目标业务;
禁止使用模块,用于当所述目标业务的授权码的状态为不可授权状态时,禁止使用所述目标业务。
本申请实施例还提供了一种终端,所述终端中安装有应用程序,所述终端包括:处理器以及存储有所述处理器可执行指令的存储介质,所述存储介质通过通信总线依赖所述处理器执行操作,当所述指令被所述处理器执行时,执行上述一个或多个实施例所述鉴权方法。
本申请实施例还提供了一种客户端,所述客户端为应用程序的客户端,且安装于终端中,所述客户端包括:处理器以及存储有所述处理器可执行指令的存储介质,所述存储介质通过通信总线依赖所述处理器执行操作,当所述指令被所述处理器执行时,执行上述一个或多个实施例所述鉴权方法。
本申请实施例提供了一种计算机存储介质,存储有可执行指令,当所述可执行指令被一个或多个处理器执行的时候,所述处理器执行上述一个或多个实施例所述鉴权方法。
本申请实施例提供了一种鉴权方法、终端、客户端及计算机存储介质,该方法应用于终端中,该终端中安装有应用程序的客户端,包括:当应用程序接入SDK,并从SDK中调用目标业务时,从终端的鉴权数据库中获取目标业务的授权码的状态,当目标业务的授权码的状态为可授权状态时,授予目标业务的使用权限至应用程序,当应用程序的授权码的状态为不可授权状态时,禁止授予目标业务的使用权限至应用程序,其中,该使用权限用于应用程序使用目标业务;也就是说,在本申请实施例中,在SDK鉴权时,通过从终端的鉴权数据库中获取目标业务的授权码的状态,来确定是否向应用程序授予目标业务的使用权限,避免在线鉴权中每次申请授权码,并解析验证授权码来确定是否向应用程序授予目标业务的使用权限的过程,采用从终端的鉴权数据库中获取目标业务的授权码的状态的方式,能够更加直接地获取到目标业务的授权码的状态,省去每次在线鉴权都去申请解析验证授权码的步骤,有效地提高了SDK鉴权的鉴权效率,有利于终端的用户在使用应用程序的过程中快速地调用目标业务,提高了应用程序的调用目标业务的能力。
附图说明
图1为本申请实施例提供的一种可选的鉴权系统的结构示意图;
图2为本申请实施例提供的一种可选的鉴权方法的交互流程示意图;
图3为SDK鉴权的示意图;
图4为本申请实施例提供的一种可选的授权码的生成方法流程示意图;
图5为本申请实施例提供的一种可选的鉴权方法的实例的流程示意图;
图6为本申请实施例提供的一种可选的授权码的解析方法的实例的流程示意图;
图7为本申请实施例提供的一种可选的鉴权方法的流程示意图;
图8为本申请实施例提供的另一种可选的鉴权方法的流程示意图;
图9为本申请实施例提供的一种终端的结构示意图一;
图10为本申请实施例提供给的一种客户端的结构示意图一;
图11为本申请实施例提供的一种终端的结构示意图二;
图12为本申请实施例提供的一种客户端的结构示意图二。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
实施例一
本申请实施例提供了一种鉴权方法,该方法应用于一鉴权系统中,图1为本申请实施例提供的一种可选的鉴权系统的结构示意图,如图1所示,该鉴权系统可以包括:鉴权服务器11,应用程序12和终端13,其中,应用程序12安装于终端13中,鉴权服务器11可以通过网络与应用程序12进行通信,上述网络可以为无线网络,也可以为有线网络,这里,本申请实施例对此不作具体限定。
图2为本申请实施例提供的一种可选的鉴权方法的交互流程示意图,参考图2所示,上述鉴权方法可以包括:
S201:当终端13接入通信网络,且应用程序12接入SDK,并从SDK中调用目标业务时,应用程序12向鉴权服务器11发送针对目标业务的授权请求;
其中,上述终端13接入通信网络可以是终端13接入移动数据的网络,也可以是终端13接入无线保真(WiFi,Wireless Fidelity)网络,这里,本申请实施例对此不作具体限定;另外,上述目标业务可以为相机业务或者音频业务等,这里,本申请实施例对此不作具体限定。
这里,需要说明的是,本申请实施例提供的鉴权方法为SDK鉴权,图3为SDK鉴权的示意图,如图3所示,SDK鉴权需要依赖基础鉴权SDK(baseSDK),baseSDK中包裹了身份验证服务方法SDK,鉴权SDK封装了基础的鉴权服务绑定能力(CapabilitySDK),CapabilitySDK提供了开放能力的接口。
S202:鉴权服务器11生成目标业务的授权码;
S203:鉴权服务器11向应用程序12发送目标业务的授权码;
具体来说,应用程序12向鉴权服务器11发送针对目标业务的授权请求之后,鉴权服务器11接收到授权请求之后,鉴权服务器11生成目标业务的授权码,其中,授权码包括应用程序的基本信息,例如,版本信息,有效日期,类型和权限位等等,图4为本申请实施例提供的一种可选的授权码的生成方法流程示意图,如图4所示,将头部(Header),类型(Type),包名(Package Name),签名证书哈希值(Cert SHA1),有效期限(Expiration Date),权限位(Perm Bits)等信息使用私钥(spec256r1)进行签名操作得到数字签名(Signature),然后利用Signature和Header,Expiration Date和Perm Bits生成授权码(API Key),其中,Header包括鉴权方案的版本信息和是否有权限位。
也就是说,利用上述生成方法可以生成目标业务的授权码,该授权码中包括了应用程序的基础信息和数字签名等等,在生成目标业务的授权码之后,鉴权服务器11将目标业务的授权码发送至应用程序12,使得应用程序12获取到目标业务的授权码。
S204:终端13从应用程序12获取目标业务的授权码;
具体来说,当终端接入通信网络时,应用程序12接入SDK,并从SDK中调用目标业务时,应用程序12在获取到目标业务的授权码之后,需要进行在线鉴权,为了实现在线鉴权,终端13从应用程序12中获取目标业务的授权码,然后解析验证授权码,以确定目标业务的授权码的状态,以实现在线鉴权,然后,在本申请实施例中,针对目标业务而言,由于在线鉴权需要终端在接入通信网络时才能够进行,所以,这里,为了避免无网络时无法进行在线鉴权的情况发生,需要先进行在线鉴权,在一种可选的实施例中,S204可以包括:
当终端13接入通信网络,且应用程序12接入SDK,并从SDK中调用目标业务时,终端13每隔预设时间段从应用程序12中获取目标业务的授权码。
也就是说,终端13在接入通信网络的情况下,在接入SDK并调用目标业务时,终端13每隔预设时间段从应用程序12中获取目标业务的授权码,即,每隔预设时间段终端13执行在线鉴权,其中,预设时间段可以预先进行设置,例如,24小时。
S205:终端13解析目标业务的授权码,确定目标业务的授权码的状态,并进行存储;
具体来说,终端13在获取到目标业务的授权码之后,先解析目标业务的授权码,可以得到解析后的授权码,根据解析后的授权码来确定目标业务的授权码的状态,为了得到目标业务的授权码的状态,在一种可选的实施例中,S205可以包括:
终端13解析授权码,得到解析后的授权码;
当解析后的授权码中的数字签名验证成功时,终端13确定授权码的状态为可授权状态;
当解析后的授权码中的数字签名验证失败时,终端13确定授权码的状态为不可授权状态;
终端13将授权码的状态和解析后的授权码保存至终端13的鉴权数据库中。
具体来说,在解析授权码得到解析后的授权码之后,其中,解析后的授权码中可以包括Header,Signature,Expiration Date和Perm Bits,为了确定授权码的状态,可以对Signature进行验证,当验证成功时,确定授权码的状态为可授权状态,当验证失败,确定授权码的状态为不可授权状态。
这样,通过在线鉴权确定出授权码的状态之后,为了实现离线授权,将授权码的状态和解析后的授权码保存出终端13的鉴权数据库中,这样,能够方便地实现离线鉴权。
进一步地,为了确定出可靠的授权码的状态,在一种可选的实施例中,当解析后的授权码中的数字签名验证成功时,终端13确定授权码的状态为可授权状态,包括:
当解析后的授权码中的数字签名验证成功,且当前时刻落入解析后的授权码中的有效期限时,终端13确定授权码的状态为可授权状态;
相应地,当解析后的授权码中的数字签名验证失败时,终端13确定授权码的状态为不可授权状态,包括:
当解析后的授权码中的数字签名验证失败,或者当前时刻未落入解析后的授权码中的有效期限时,终端13确定授权码的状态为不可授权状态。
具体来说,在解析得到解析后的授权码之后,除了对解析后的授权码中的数字签名进行验证之外,还判断当前时刻是否落入解析后的授权码中的有效期限,只有当解析后的授权码中的数字签名验证成功,且当前时刻落入解析后的授权码中的有效期限时,终端13确定授权码指示授予应用程序使用目标业务的权限,所以,终端13确定授权码的状态为可授权状态。
当解析后的授权码中的数字签名验证失败时,终端13直接确定授权码的状态为不可授权状态,当解析后的授权码中的数字签名验证成功时,且当前时刻未落入解析后的授权码中的有效期时,终端13确定授权码的状态为不可授权状态。
这样,通过对数字签名和当前时刻的判断能够确定出比较可靠的授权码的状态。
更进一步地,为了确定出更加可靠的授权码的状态,在一种可选的实施例中,当解析后的授权码中的数字签名验证成功时,终端13确定授权码的状态为可授权状态,包括:
当解析后的授权码中的数字签名验证成功,且当前时刻落入解析后的授权码中的有效期限,且应用程序属于预设的合规的应用程序时,终端13确定授权码的状态为可授权状态;
相应地,当解析后的授权码中的数字签名验证失败时,终端13确定授权码的状态为不可授权状态,包括:
当解析后的授权码中的数字签名验证失败,或者当前时刻未落入解析后的授权码中的有效期限,或者应用程序不属于预设的合规的应用程序时,终端13确定授权码的状态为不可授权状态。
具体来说,在解析得到解析后的授权码之后,除了对解析后的授权码中的数字签名进行验证,和判断当前时刻是否落入解析后的授权码中的有效期限之外,还要对应用程序是否合规进行判断,这里,需要说明的是,在判断应用程序是否为合规的应用程序中,主要通过大数据来对应用程序的后台数据进行分析,查看是否存在不合规的记录,如果存在,说明该应用程序属于不合规的应用程序,如果不存在,说明该应用程序属于合规的应用程序,还可以通过预先存储的合规的应用程序来对该应用程序进行判断,这里,本申请实施例对此不作具体限定。
这里,只有当解析后的授权码中的数字签名验证成功,且当前时刻落入解析后的授权码中的有效期限,且应用程序属于预设的合规的应用程序时,终端13确定授权码指示授予应用程序使用目标业务的权限,所以,终端13确定授权码的状态为可授权状态。
当解析后的授权码中的数字签名验证失败时,终端13直接确定授权码的状态为不可授权状态;当解析后的授权码中的数字签名验证成功时,且当前时刻未落入解析后的授权码中的有效期时,终端13确定授权码的状态为不可授权状态;当解析后的授权码中的数字签名验证成功时,且当前时刻落入解析后的授权码中的有效期时,且应用程序不属于预设的合规的应用程序时,终端13确定授权码的状态为不可授权状态。
这样,通过对数字签名、当前时刻和应用程序本身的判断能够确定出更加可靠的授权码的状态。
在确定出目标业务的授权码的状态之后,终端13将目标业务的授权码的状态和解析后的授权码存储至终端13的鉴权数据库中,以备终端13在离线鉴权时使用。
S206:终端13获取目标业务的授权码的状态;
具体来说,当应用程序12接入SDK,并从SDK中调用目标业务时,也就是说,当完成在线鉴权,应用程序使用目标业务时,终端13从终端13的鉴权数据库中获取目标业务的授权码的状态,这样,终端13便可以根据目标业务授权码的状态来确定是否授予使用权限给该应用程序12。
S207:当目标业务的授权码的状态为可授权状态时,终端13授予目标业务的使用权限至应用程序12;
S208:当目标业务的授权码的状态为不可授权状态时,终端13禁止授予目标业务的使用权限至应用程序12。
具体来说,终端13确定目标业务的授权码的状态为可授权状态时,终端13授予目标业务的使用权限至应用程序12,这样,应用程序12接收到来自终端13所授予的目标业务的使用权限,使用目标业务;终端13确定目标业务的授权码的状态为不可授权状态时,终端13禁止授予目标业务的使用权限至应用程序12,应用程序12无法使用目标业务。
下面举实例来对上述一个或多个实施例所述的鉴权方法进行说明。
图5为本申请实施例提供的一种可选的鉴权方法的实例的流程示意图,如图5所示,上述在线鉴权方法可以包括:
S501:终端是否接入通信网络;若为是,执行S502;否则,结束;
S502:终端从应用程序获取目标业务的授权码的状态和解析后的授权码;
具体来说,图6为本申请实施例提供的一种可选的授权码的解析方法的实例的流程示意图,如图6所示,终端13在获取到授权码之后,解析(Decoded by Base64)授权码得到Header,Signature,Expiration Date和Perm Bits,对数字签名进行验证(Verified byPublic Key(secp256r1)),当验证失败(False),确定授权码的状态为不可授权状态,当验证成功(True),判断当前时刻是否在Expiration Date范围内(Expired),当当前时刻不在Expiration Date范围内(Failed),确定授权码的状态为不可授权状态,当当前时刻在Expiration Date范围内(True),判断应用程序是否为需要取消的应用程序(Revoked),这里,通过判断应用程序的大数据来判断应用程序是否为符合规定的应用程序(updatestate:Check Revoked Status from Server),若为需要取消的应用程序(Yes),确定授权码的状态为不可授权状态,否则(No),确定授权码的状态为可授权状态。
S503:终端保存授权码的状态和解析后的授权码至鉴权数据库中。
需要说明的是,每次使用目标业务时,都要进行离线鉴权,当接入SDK,并从SDK中调用目标业务时,如果授权码状态为不可授权状态,那么直接会禁止掉应用程序使用目标业务,否则,终端直接使用鉴权数据库,可以更快速的返回授权码的状态,又能保证授权码的信息的准确性。
另外,在实际应用中,每次在线鉴权会预设一个有效期,在有效期内,不会再次进行在线鉴权,减少了在线鉴权的次数和与网络的交互。
通过上述实例,应用于开放能力SDK的应用中,为开放能力的使用提供基础的鉴权功能,开放能力SDK可以直接在回调中取出鉴权结果,然后根据结果使用相应功能,同时,在鉴权结束时,鉴权结果也会同步到开放能力的实现端,保证数据的准确性、安全性。
本实例使用离线鉴权为主,在线鉴权为辅的方式,可以在无网络的情况下也能正常使用SDK功能,同时,离线鉴权的结果返回,不依赖网络状况,可实时返回,用户买可以快速收到反馈使用相关功能,在线鉴权又能保证授权码的准确性、实效性;SDK可以快速的实现鉴权功能,同时,在使用开放能力时,大大缩短鉴权时间,可以保证不受网络情况的影响下,也能使用SDK功能。
下面站在鉴权系统的各个设备侧对上述鉴权方法进行说明。
首先,以终端侧对上述鉴权方法进行描述。
本申请实施例提供一种鉴权方法,该方法应用于终端中,该终端中安装有应用程序,图7为本申请实施例提供的一种可选的鉴权方法的流程示意图,如图7所示,该鉴权方法可以包括:
S701:当应用程序接入SDK,并从SDK中调用目标业务时,从终端的鉴权数据库中获取目标业务的授权码的状态;
S702:当目标业务的授权码的状态为可授权状态时,授予目标业务的使用权限至应用程序;
S703:当目标业务的授权码的状态为不可授权状态时,禁止授予目标业务的使用权限至应用程序;
其中,使用权限用于应用程序使用目标业务。
在一种可选的实施例中,上述方法还可以包括:
当终端接入通信网络,且应用程序接入SDK,并从SDK中调用目标业务时,从应用程序中获取目标业务的授权码;
解析授权码,得到解析后的授权码;
当解析后的授权码中的数字签名验证成功时,确定授权码的状态为可授权状态;
当解析后的授权码中的数字签名验证失败时,确定授权码的状态为不可授权状态;
将授权码的状态和解析后的授权码保存至终端的鉴权数据库中。
在一种可选的实施例中,当解析后的授权码中的数字签名验证成功时,确定授权码的状态为可授权状态,包括:
当解析后的授权码中的数字签名验证成功,且当前时刻落入解析后的授权码中的有效期限时,确定授权码的状态为可授权状态;
相应地,当解析后的授权码中的数字签名验证失败时,确定授权码的状态为不可授权状态,包括:
当解析后的授权码中的数字签名验证失败,或者当前时刻未落入解析后的授权码中的有效期限时,确定授权码的状态为不可授权状态。
在一种可选的实施例中,当所述解析后的授权码中的数字签名验证成功时,确定授权码的状态为可授权状态,包括:
当解析后的授权码中的数字签名验证成功,且当前时刻落入解析后的授权码中的有效期限,且应用程序属于预设的合规的应用程序时,确定授权码的状态为可授权状态;
相应地,当解析后的授权码中的数字签名验证失败时,确定授权码的状态为不可授权状态,包括:
当解析后的授权码中的数字签名验证失败,或者当前时刻未落入解析后的授权码中的有效期限,或者应用程序不属于预设的合规的应用程序时,确定授权码的状态为不可授权状态。
在一种可选的实施例中,S701可以包括:
当终端接入通信网络,且应用程序接入SDK,并从SDK中调用目标业务时,每隔预设时间段从应用程序中获取目标业务的授权码。
其次,以客户端侧对上述鉴权方法进行描述。
本申请实施例提供一种鉴权方法,该方法应用于应用程序的客户端中,该客户端安装于终端中,图8为本申请实施例提供的另一种可选的鉴权方法的流程示意图,如图8所示,该鉴权方法可以包括:
S801:当应用程序接入SDK,并从SDK中调用目标业务,且目标业务的授权码的状态为可授权状态时,接收来自终端所授予的目标业务的使用权限,使用目标业务;
S802:当目标业务的授权码的状态为不可授权状态时,禁止使用目标业务。
本申请实施例提供了一种鉴权方法,该方法应用于终端中,该终端中安装有应用程序的客户端,包括:当应用程序接入SDK,并从SDK中调用目标业务时,从终端的鉴权数据库中获取目标业务的授权码的状态,当目标业务的授权码的状态为可授权状态时,授予目标业务的使用权限至应用程序,当应用程序的授权码的状态为不可授权状态时,禁止授予目标业务的使用权限至应用程序,其中,该使用权限用于应用程序使用目标业务;也就是说,在本申请实施例中,在SDK鉴权时,通过从终端的鉴权数据库中获取目标业务的授权码的状态,来确定是否向应用程序授予目标业务的使用权限,避免在线鉴权中每次申请授权码,并解析验证授权码来确定是否向应用程序授予目标业务的使用权限的过程,采用从终端的鉴权数据库中获取目标业务的授权码的状态的方式,能够更加直接地获取到目标业务的授权码的状态,省去每次在线鉴权都去申请解析验证授权码的步骤,有效地提高了SDK鉴权的鉴权效率,有利于终端的用户在使用应用程序的过程中快速地调用目标业务,提高了应用程序的调用目标业务的能力。
实施例二
基于同一发明构思,本申请实施例提供一种终端,该终端中安装有应用程序,图9为本申请实施例提供的一种终端的结构示意图一,如图9所示,本申请实施例提供了一种终端,包括:获取模块91,授予模块92和禁止授权模块93;其中,
获取模块91,用于当应用程序接入SDK,并从SDK中调用目标业务时,从终端的鉴权数据库中获取目标业务的授权码的状态;
授予模块92,用于当目标业务的授权码的状态为可授权状态时,授予目标业务的使用权限至应用程序;
禁止授予模块93,用于当目标业务的授权码的状态为不可授权状态时,禁止授予目标业务的使用权限至应用程序;
其中,使用权限用于应用程序使用目标业务。
可选的,该终端还用于:
当终端接入通信网络,且应用程序接入SDK,并从SDK中调用目标业务时,从应用程序中获取目标业务的授权码;
解析授权码,得到解析后的授权码;
当解析后的授权码中的数字签名验证成功时,确定授权码的状态为可授权状态;
当解析后的授权码中的数字签名验证失败时,确定授权码的状态为不可授权状态;
将授权码的状态和解析后的授权码保存至终端的鉴权数据库中。
可选的,当解析后的授权码中的数字签名验证成功时,该终端确定授权码的状态为可授权状态中,包括:
当解析后的授权码中的数字签名验证成功,且当前时刻落入解析后的授权码中的有效期限时,确定授权码的状态为可授权状态;
相应地,当解析后的授权码中的数字签名验证失败时,该终端确定授权码的状态为不可授权状态中,包括:
当解析后的授权码中的数字签名验证失败,或者当前时刻未落入解析后的授权码中的有效期限时,确定授权码的状态为不可授权状态。
可选的,当解析后的授权码中的数字签名验证成功时,该终端确定授权码的状态为可授权状态中,包括:
当解析后的授权码中的数字签名验证成功,且当前时刻落入解析后的授权码中的有效期限,且应用程序属于预设的合规的应用程序时,确定授权码的状态为可授权状态;
相应地,当解析后的授权码中的数字签名验证失败时,该终端确定授权码的状态为不可授权状态中,包括:
当解析后的授权码中的数字签名验证失败,或者当前时刻未落入解析后的授权码中的有效期限,或者应用程序不属于预设的合规的应用程序时,确定授权码的状态为不可授权状态。
可选的,获取模块91,具体用于:
当终端接入通信网络,且应用程序接入SDK,并从SDK中调用目标业务时,每隔预设时间段从应用程序中获取目标业务的授权码。
在实际应用中,上述获取模块91、授予模块92和禁止授予模块93可由位于终端上的处理器实现,具体为中央处理单元(CPU,Central Processing Unit)、微处理器(MPU,Microprocessor Unit)、数字信号处理器(DSP,Digital Signal Processing)或现场可编程门阵列(FPGA,Field Programmable Gate Array)等实现。
基于同一发明构思,本申请实施例提供一种客户端,该客户端为应用程序的客户端,且安装于终端中,图10为本申请实施例提供给的一种客户端的结构示意图一,该客户端还可以包括:使用模块101和禁止使用模块102;其中,
使用模块101,用于当应用程序接入SDK,并从SDK中调用目标业务,且目标业务的授权码的状态为可授权状态时,接收来自终端所授予的目标业务的使用权限,使用目标业务;
禁止使用模块102,用于当目标业务的授权码的状态为不可授权状态时,禁止使用目标业务。
可选的,该客户端还用于:
当终端接入通信网络,且应用程序接入SDK,并从SDK中调用目标业务时,向鉴权服务器发送授权请求;其中,授权请求用于鉴权服务器生成目标业务的授权码;
接收来自鉴权服务器返回的目标业务的授权码。
在实际应用中,上述使用模块101和禁止使用模块102可由位于客户端上的处理器实现,具体为CPU、MPU、DSP或FPGA等实现。
图11为本申请实施例提供的一种终端的结构示意图二,如图11所示,本申请实施例提供了一种终端1100,终端1100中安装有应用程序,包括:
处理器111以及存储有所述处理器111可执行指令的存储介质112,所述存储介质112通过通信总线113依赖所述处理器111执行操作,当所述指令被所述处理器111执行时,执行上述实施例一所述的鉴权方法。
需要说明的是,实际应用时,终端中的各个组件通过通信总线113耦合在一起。可理解,通信总线113用于实现这些组件之间的连接通信。通信总线113除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图11中将各种总线都标为通信总线113。
图12为本申请实施例提供的一种客户端的结构示意图二,如图12所示,本申请实施例提供了一种客户端1200,客户端1200为应用程序的客户端,且安装于终端中,包括:
处理器121以及存储有所述处理器121可执行指令的存储介质122,所述存储介质122通过通信总线123依赖所述处理器121执行操作,当所述指令被所述处理器121执行时,执行上述实施例一所述的鉴权方法。
需要说明的是,实际应用时,终端中的各个组件通过通信总线123耦合在一起。可理解,通信总线123用于实现这些组件之间的连接通信。通信总线123除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图12中将各种总线都标为通信总线123。
本申请实施例提供了一种计算机存储介质,存储有可执行指令,当所述可执行指令被一个或多个处理器执行的时候,所述处理器执行实施例一所述的鉴权方法。
其中,计算机可读存储介质可以是磁性随机存取存储器(ferromagnetic randomaccess memory,FRAM)、只读存储器(Read Only Memory,ROM)、可编程只读存储器(Programmable Read-Only Memory,PROM)、可擦除可编程只读存储器(ErasableProgrammable Read-Only Memory,EPROM)、电可擦除可编程只读存储器(ElectricallyErasable Programmable Read-Only Memory,EEPROM)、快闪存储器(Flash Memory)、磁表面存储器、光盘、或只读光盘(Compact Disc Read-Only Memory,CD-ROM)等存储器。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述,仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。
Claims (12)
1.一种鉴权方法,其特征在于,所述方法应用于终端中,所述终端中安装有应用程序,包括:
当所述应用程序接入SDK,并从所述SDK中调用目标业务时,从所述终端的鉴权数据库中获取所述目标业务的授权码的状态;
当所述目标业务的授权码的状态为可授权状态时,授予所述目标业务的使用权限至所述应用程序;
当所述目标业务的授权码的状态为不可授权状态时,禁止授予所述目标业务的使用权限至所述应用程序;
其中,所述使用权限用于所述应用程序使用所述目标业务。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当所述终端接入通信网络,且所述应用程序接入SDK,并从所述SDK中调用目标业务时,从所述应用程序中获取所述目标业务的授权码;
解析所述授权码,得到解析后的授权码;
当所述解析后的授权码中的数字签名验证成功时,确定所述授权码的状态为所述可授权状态;
当所述解析后的授权码中的数字签名验证失败时,确定所述授权码的状态为所述不可授权状态;
将所述授权码的状态和所述解析后的授权码保存至所述终端的鉴权数据库中。
3.根据权利要求2所述的方法,其特征在于,所述当所述解析后的授权码中的数字签名验证成功时,确定所述授权码的状态为所述可授权状态,包括:
当所述解析后的授权码中的数字签名验证成功,且当前时刻落入所述解析后的授权码中的有效期限时,确定所述授权码的状态为所述可授权状态;
相应地,当所述解析后的授权码中的数字签名验证失败时,确定所述授权码的状态为所述不可授权状态,包括:
当所述解析后的授权码中的数字签名验证失败,或者当前时刻未落入所述解析后的授权码中的有效期限时,确定所述授权码的状态为所述不可授权状态。
4.根据权利要求2所述的方法,其特征在于,所述当所述解析后的授权码中的数字签名验证成功时,确定所述授权码的状态为所述可授权状态,包括:
当所述解析后的授权码中的数字签名验证成功,且当前时刻落入所述解析后的授权码中的有效期限,且所述应用程序属于预设的合规的应用程序时,确定所述授权码的状态为所述可授权状态;
相应地,当所述解析后的授权码中的数字签名验证失败时,确定所述授权码的状态为所述不可授权状态,包括:
当所述解析后的授权码中的数字签名验证失败,或者当前时刻未落入所述解析后的授权码中的有效期限,或者所述应用程序不属于预设的合规的应用程序时,确定所述授权码的状态为所述不可授权状态。
5.根据权利要求2所述的方法,其特征在于,所述当所述终端接入通信网络,且所述应用程序接入SDK,并从所述SDK中调用目标业务时,从所述应用程序中获取所述目标业务的授权码,包括:
当所述终端接入通信网络,且所述应用程序接入SDK,并从所述SDK中调用目标业务时,每隔预设时间段从所述应用程序中获取所述目标业务的授权码。
6.一种鉴权方法,其特征在于,所述方法应用于应用程序的客户端中,所述客户端安装于终端中,包括:
当所述应用程序接入SDK,并从所述SDK中调用目标业务,且所述目标业务的授权码的状态为可授权状态时,接收来自所述终端所授予的所述目标业务的使用权限,使用所述目标业务;
当所述目标业务的授权码的状态为不可授权状态时,禁止使用所述目标业务。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
当所述终端接入通信网络,且所述应用程序接入SDK,并从所述SDK中调用所述目标业务时,向所述鉴权服务器发送授权请求;其中,所述授权请求用于所述鉴权服务器生成所述目标业务的授权码;
接收来自所述鉴权服务器返回的所述目标业务的授权码。
8.一种终端,其特征在于,所述终端中安装有应用程序,包括:
获取模块,用于当所述应用程序接入SDK,并从所述SDK中调用目标业务时,从所述终端的鉴权数据库中获取所述目标业务的授权码的状态;
授予模块,用于当所述目标业务的授权码的状态为可授权状态时,授予所述目标业务的使用权限至所述应用程序;
禁止授予模块,用于当所述目标业务的授权码的状态为不可授权状态时,禁止授予所述目标业务的使用权限至所述应用程序;
其中,所述使用权限用于所述应用程序使用所述目标业务。
9.一种客户端,其特征在于,所述客户端为应用程序的客户端,且安装于终端中,包括:
使用模块,用于当所述应用程序接入SDK,并从所述SDK中调用目标业务,且所述目标业务的授权码的状态为可授权状态时,接收来自所述终端所授予的所述目标业务的使用权限,使用所述目标业务;
禁止使用模块,用于当所述目标业务的授权码的状态为不可授权状态时,禁止使用所述目标业务。
10.一种终端,其特征在于,所述终端中安装有应用程序,所述终端包括:处理器以及存储有所述处理器可执行指令的存储介质,所述存储介质通过通信总线依赖所述处理器执行操作,当所述指令被所述处理器执行时,执行上述的权利要求1至5任一项所述的鉴权方法。
11.一种客户端,其特征在于,所述客户端为应用程序的客户端,且安装于终端中,所述客户端包括:处理器以及存储有所述处理器可执行指令的存储介质,所述存储介质通过通信总线依赖所述处理器执行操作,当所述指令被所述处理器执行时,执行上述的权利要求6或7所述的鉴权方法。
12.一种计算机存储介质,其特征在于,存储有可执行指令,当所述可执行指令被一个或多个处理器执行的时候,所述处理器执行所述的权利要求1至5任一项所述的鉴权方法或者执行所述的权利要求6或7所述的鉴权方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011534245.4A CN112560009B (zh) | 2020-12-22 | 2020-12-22 | 一种鉴权方法、终端、客户端及计算机存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011534245.4A CN112560009B (zh) | 2020-12-22 | 2020-12-22 | 一种鉴权方法、终端、客户端及计算机存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112560009A true CN112560009A (zh) | 2021-03-26 |
CN112560009B CN112560009B (zh) | 2024-08-06 |
Family
ID=75032215
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011534245.4A Active CN112560009B (zh) | 2020-12-22 | 2020-12-22 | 一种鉴权方法、终端、客户端及计算机存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112560009B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113538777A (zh) * | 2021-06-25 | 2021-10-22 | 合肥美的智能科技有限公司 | 一种授权方法、智能货柜、服务器和计算机存储介质 |
CN113569205A (zh) * | 2021-06-25 | 2021-10-29 | 合肥综合性国家科学中心人工智能研究院(安徽省人工智能实验室) | 一种sdk软件接口服务授权方法及装置 |
CN116720172A (zh) * | 2023-08-07 | 2023-09-08 | 四川神州行网约车服务有限公司 | 系统权限的验证方法、装置、计算机设备及可读存储介质 |
CN117235771A (zh) * | 2023-11-07 | 2023-12-15 | 荣耀终端有限公司 | 一种应用程序的权限管控方法和电子设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190068377A1 (en) * | 2017-08-31 | 2019-02-28 | Canon Kabushiki Kaisha | Authority transfer system, control method therefor, and storage medium |
CN111538965A (zh) * | 2020-04-15 | 2020-08-14 | 支付宝(杭州)信息技术有限公司 | 一种应用程序的授权登录方法、装置及系统 |
CN111625781A (zh) * | 2020-08-03 | 2020-09-04 | 腾讯科技(深圳)有限公司 | Sdk授权认证方法、装置、设备及存储介质 |
-
2020
- 2020-12-22 CN CN202011534245.4A patent/CN112560009B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190068377A1 (en) * | 2017-08-31 | 2019-02-28 | Canon Kabushiki Kaisha | Authority transfer system, control method therefor, and storage medium |
CN111538965A (zh) * | 2020-04-15 | 2020-08-14 | 支付宝(杭州)信息技术有限公司 | 一种应用程序的授权登录方法、装置及系统 |
CN111625781A (zh) * | 2020-08-03 | 2020-09-04 | 腾讯科技(深圳)有限公司 | Sdk授权认证方法、装置、设备及存储介质 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113538777A (zh) * | 2021-06-25 | 2021-10-22 | 合肥美的智能科技有限公司 | 一种授权方法、智能货柜、服务器和计算机存储介质 |
CN113569205A (zh) * | 2021-06-25 | 2021-10-29 | 合肥综合性国家科学中心人工智能研究院(安徽省人工智能实验室) | 一种sdk软件接口服务授权方法及装置 |
CN116720172A (zh) * | 2023-08-07 | 2023-09-08 | 四川神州行网约车服务有限公司 | 系统权限的验证方法、装置、计算机设备及可读存储介质 |
CN116720172B (zh) * | 2023-08-07 | 2024-01-30 | 四川神州行网约车服务有限公司 | 系统权限的验证方法、装置、计算机设备及可读存储介质 |
CN117235771A (zh) * | 2023-11-07 | 2023-12-15 | 荣耀终端有限公司 | 一种应用程序的权限管控方法和电子设备 |
CN117235771B (zh) * | 2023-11-07 | 2024-04-23 | 荣耀终端有限公司 | 一种应用程序的权限管控方法和电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN112560009B (zh) | 2024-08-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111935094B (zh) | 数据库访问方法、装置、系统及计算机可读存储介质 | |
CN111756753B (zh) | 一种权限验证方法及系统 | |
CN112560009B (zh) | 一种鉴权方法、终端、客户端及计算机存储介质 | |
CN110691087B (zh) | 一种访问控制方法、装置、服务器及存储介质 | |
CN106991298B (zh) | 应用程序对接口的访问方法、授权请求方法及装置 | |
US10212151B2 (en) | Method for operating a designated service, service unlocking method, and terminal | |
CN111107073B (zh) | 应用自动登录方法、装置、计算机设备和存储介质 | |
CN110570569B (zh) | 虚拟钥匙配置信息的激活方法、移动终端及服务器 | |
CN106161348B (zh) | 一种单点登录的方法、系统以及终端 | |
CN106357694B (zh) | 一种访问请求处理方法及装置 | |
EP2875460A1 (en) | Anti-cloning system and method | |
CN112380501B (zh) | 设备运行方法、装置、设备和存储介质 | |
CN111949967A (zh) | 设备认证方法、装置、电子设备、服务器及存储介质 | |
CN113360868A (zh) | 应用程序登录方法、装置、计算机设备和存储介质 | |
CN114844644A (zh) | 资源请求方法、装置、电子设备及存储介质 | |
CN113872990A (zh) | 基于ssl协议的vpn网络证书认证方法、装置和计算机设备 | |
CN111585978A (zh) | 一种拦截虚假请求的方法、客户端、服务端及系统 | |
CN106533685B (zh) | 身份认证方法、装置及系统 | |
CN111652720A (zh) | 云取证方法、装置、计算机设备及存储介质 | |
CN116707758A (zh) | 可信计算设备的认证方法、设备和服务器 | |
CN109428869B (zh) | 钓鱼攻击防御方法和授权服务器 | |
CN114584313B (zh) | 一种设备物理身份认证方法、系统、装置及第一平台 | |
CN113868628B (zh) | 一种签名验证方法、装置、计算机设备和存储介质 | |
CN112865981B (zh) | 一种令牌获取、验证方法及装置 | |
CN115563588A (zh) | 一种软件离线鉴权的方法、装置、电子设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |