一种认证方式授权方法及装置
技术领域
本申请涉及计算机网络技术领域,尤其涉及一种认证方式授权方法及装置。
背景技术
通过指纹识别密码(Touch ID)进行用户认证是一种能够充分保护用户数据安全的认证方式。用户终端在需要为某个应用(APP)开通Touch ID认证方式时,会生成一非对称密钥,并将其中的私钥强加密后存储在本地的钥匙链(keychain)中,将公钥以及该APP的用户注册信息(比如账户标识信息、该APP为用户终端分配的设备标识)发送给服务器,用于请求服务器为该APP开通指纹认证方式。服务器会对该APP进行开通验证,为了保证用户数据安全,开通验证过程通常比较繁琐,比如要求用户输入账户密码、手机验证码、密保问题等。在为该APP开通Touch ID认证方式后,如果用户通过该APP的Touch ID认证,此时会解密keychain中的私钥,用其对认证结果做签名,并将签名上报给服务器,服务器查找对应的公钥进行验签,如果解签成功则说明用户进行Touch ID认证成功,然后允许用户使用该APP,并访问该APP的用户数据。
当用户终端上安装了同一公司研发的多款使用统一的账号体系的应用(APP),且这多款应用都能够支持Touch ID认证时,用户一般会希望这多款应用都开通指纹认证方式。但是,移动操作系统的沙盒机制限制了每个App只能访问属于自己的文件和数据;这就意味着如果App1开通了Touch ID认证,此时App1已经具有了私钥,但App2并未开通,既没有私钥也访问不到App1的私钥,从而App2无法用Touch ID进行在线验证。而针对每个APP都开通指纹认证方式就需要针对每个APP都分别执行开通验证过程。由于开通验证过程非常繁琐,针对每个APP都执行开通验证过程将会严重降低指纹认证方式的开通效率,进而影响用户体验。
发明内容
本申请实施例提供一种认证方式授权方法及装置,用以解决现有技术中对应用的用户认证方式开通效率较低的问题。
本申请实施例提供一种认证方式授权方法,包括:
用户终端在确定安装的第一应用未被授权使用设定用户认证方式后,向服务器查询安装的第二应用是否已开通所述设定用户认证方式;其中,所述第二应用与所述第一应用属于同一应用集合;
所述用户终端在确定所述第二应用已开通所述设定用户认证方式后,向服务器发送认证方式授权请求,用于请求服务器授权所述第一应用使用所述设定用户认证方式,所述认证方式授权请求中包含所述第一应用的用户注册信息和所述第二应用的用户注册信息。
可选地,所述第二应用为所述应用集合内的核心应用,在该核心应用开通所述设定用户认证方式之前,所述用户终端安装的所述应用集合内的其它应用不能被授权使用所述设定用户认证方式。
可选地,所述用户注册信息中包含账户标识信息,所述第一应用的账户标识信息和所述第二应用的账户标识信息相同;所述账户标识信息用于所述服务器确认所述第一应用和所述第二应用属于同一应用集合。
可选地,所述用户终端在确定所述第二应用未开通所述设定用户认证方式后,还包括:
所述用户终端向服务器发送认证方式开通授权请求,用于请求服务器为所述第二应用开通所述设定用户认证方式,并授权所述第一应用使用所述设定用户认证方式,所述认证方式开通授权请求中包含所述第一应用的用户注册信息和所述第二应用的用户注册信息。
可选地,所述用户终端向服务器发送所述认证方式授权请求之后,还包括:
所述用户终端在确定需要注销所述第一应用的设定用户认证方式后,向所述服务器发送包含所述第一应用的用户注册信息的认证方式注销请求,用于请求服务器为所述第一应用注销所述设定用户认证方式;或者,
所述用户终端在确定需要注销所述第一应用的设定用户认证方式后,向所述服务器发送包含所述第二应用的用户注册信息的认证方式注销请求,用于请求服务器为所述第二应用及所述应用集合内其它被授权使用所述设定用户认证方式的应用,注销所述设定用户认证方式。
可选地,所述用户终端向服务器发送所述认证方式授权请求之后,还包括:
所述用户终端在确定需要注销所述第二应用的设定用户认证方式后,向所述服务器发送包含所述第二应用的用户注册信息的认证方式注销请求,用于请求服务器为所述第二应用及所述应用集合内其它被授权使用所述设定用户认证方式的应用,注销所述设定用户认证方式。
可选地,所述用户终端在确定安装的第一应用未被授权使用设定用户认证方式后,向服务器查询安装的第二应用是否已开通所述设定用户认证方式,包括:
用户终端在确定安装的第一应用未被授权使用设定用户认证方式后,控制所述第一应用和第二应用使用非对称密钥进行相互认证,在认证成功后,向服务器查询安装的所述第二应用是否已开通所述设定用户认证方式。
本申请另一实施例提供一种认证方式授权方法,包括:
服务器接收用户终端发送的认证方式授权请求;所述认证方式授权请求中包含安装的第一应用的用户注册信息和第二应用的用户注册信息;
所述服务器基于所述第一应用的用户注册信息和第二应用的用户注册信息,在确定所述第二应用已开通所述设定用户认证方式后,授权所述第一应用使用所述设定用户认证方式;其中,所述第二应用与所述第一应用属于同一应用集合。
可选地,所述第二应用为所述应用集合内的核心应用,在该核心应用开通所述设定用户认证方式之前,所述用户终端安装的所述应用集合内的其它应用不能被授权使用所述设定用户认证方式。
可选地,所述用户注册信息中包含账户标识信息;
所述服务器基于所述第一应用的用户注册信息和第二应用的用户注册信息,在确定所述第二应用已开通所述设定用户认证方式后,授权所述第一应用使用所述设定用户认证方式,包括:
所述服务器在确定所述第一应用的账户标识信息和所述第二应用的账户标识信息相同、且所述第二应用为所述第一应用和第二应用所在应用集合中的核心应用后,判断所述第二应用是否已开通所述设定用户认证方式;
在确定所述第二应用已开通所述设定用户认证方式后,授权所述第一应用使用所述设定用户认证方式。
可选地,所述方法还包括:
服务器接收用户终端发送的认证方式开通授权请求,该认证方式开通授权请求中包含第一应用的用户注册信息和第二应用的用户注册信息;
所述服务器对所述第二应用进行开通验证,在验证通过后,为所述第二应用开通所述设定用户认证方式,并授权所述第一应用使用所述设定用户认证方式。
可选地,所述服务器授权所述第一应用使用所述设定用户认证方式,包括:
所述服务器对所述第一应用进行授权验证,并在验证成功后,授权所述第一应用使用所述设定用户认证方式。
可选地,所述方法还包括:
所述服务器在接收到所述用户终端发送的包含所述第一应用的用户注册信息的认证方式注销请求后,为所述第一应用注销所述设定用户认证方式。
可选地,所述方法还包括:
所述服务器在接收到所述用户终端发送的包含所述第二应用的用户注册信息的认证方式注销请求后,为所述第二应用及所述应用集合内其它被授权使用所述设定用户认证方式的应用,注销所述设定用户认证方式。
可选地,所述方法还包括:
所述服务器接收所述用户终端发送的包含所述第二应用的用户注册信息的认证方式开通请求后,对所述第二应用进行开通验证,在验证通过后,为所述第二应用开通所述设定用户认证方式;并
根据存储的历史开通记录,查询所述第二应用之前是否开通过所述设定用户认证方式;
在确定所述第二应用之前开通过所述设定用户认证方式后,为所述第二应用所在的应用集合内之前被授权使用所述设定用户认证方式的其它应用,重新授权使用所述设定用户认证方式。
本申请实施例提供一种用户认证方式授权装置,包括:
查询模块,用于在确定安装的第一应用未被授权使用设定用户认证方式后,向服务器查询安装的第二应用是否已开通所述设定用户认证方式;其中,所述第二应用与所述第一应用属于同一应用集合;
发送模块,用于在确定所述第二应用已开通所述设定用户认证方式后,向服务器发送认证方式授权请求,用于请求服务器授权所述第一应用使用所述设定用户认证方式,所述认证方式授权请求中包含所述第一应用的用户注册信息和所述第二应用的用户注册信息。
本申请另一实施例提供一种用户认证方式授权装置,包括:
查询模块,用于在确定安装的第一应用未被授权使用设定用户认证方式后,向服务器查询安装的第二应用是否已开通所述设定用户认证方式;其中,所述第二应用与所述第一应用属于同一应用集合;
发送模块,用于在确定所述第二应用已开通所述设定用户认证方式后,向服务器发送认证方式授权请求,用于请求服务器授权所述第一应用使用所述设定用户认证方式,所述认证方式授权请求中包含所述第一应用的用户注册信息和所述第二应用的用户注册信息。
本申请实施例中,针对一个应用集合,在该应用集合内已经有第二应用开通设定用户认证方式的情况下,可以通过向服务器发送包含第一应用的用户注册信息和第二应用的用户注册信息的认证方式授权请求,以此来请求服务器授权第一应用使用所述设定用户认证方式,这样可以避免对应用集合内每个应用都执行开通流程,提高对用户认证方式的开通效率。优选地,本申请实施例可以从应用集合中预先选出一个应用作为核心应用,可以只对该核心应用执行开通设定用户认证方式的开通流程;针对该应用集合内的其它应用,在该核心应用已开通所述设定用户认证方式的前提下,可以请求服务器授权其它应用使用所述设定用户认证方式。这样,针对一个应用集合内的多个应用,只需针对其中的一个应用执行开通流程,对其它应用可以直接授权使用所述设定用户认证方式或进行简单的授权验证(比如只验证登录密码)后授权使用所述设定用户认证方式,从而可以进一步提高整体开通所述设定用户认证方式的效率,并提高用户体验。
附图说明
图1为本申请实施例一提供的认证方式授权方法流程图;
图2为本申请实施例二提供的认证方式授权方法流程图;
图3为本申请实施例三提供的认证方式授权方法流程图;
图4为本申请实施例四提供的认证方式授权方法流程图;
图5为本申请实施例五提供的认证方式授权装置结构示意图;
图6为本申请实施例六提供的认证方式授权装置结构示意图。
具体实施方式
本申请实施例中,针对一个应用集合(比如使用相同的账户体系的多个应用可以组成一个应用集合,使用相同的账户体系指的是这多个应用对应的账户标识信息、登录密码等相同),在该应用集合内已经有第二应用开通设定用户认证方式的情况下,可以通过向服务器发送包含第一应用的用户注册信息和第二应用的用户注册信息的认证方式授权请求,以此来请求服务器授权第一应用使用所述设定用户认证方式,这样可以避免对应用集合内每个应用都执行开通流程,提高对用户认证方式的开通效率。优选地,本申请实施例可以从应用集合中预先选出一个应用作为核心应用,可以只对该核心应用执行开通设定用户认证方式的开通流程;针对该应用集合内的其它应用,在该核心应用已开通所述设定用户认证方式的前提下,可以请求服务器授权其它应用使用所述设定用户认证方式。这样,针对一个应用集合内的多个应用,只需针对其中的一个应用执行开通流程,对其它应用可以直接授权使用所述设定用户认证方式或进行简单的授权验证(比如只验证登录密码)后授权使用所述设定用户认证方式,从而可以提高整体开通所述设定用户认证方式的效率,并提高用户体验。
下面结合说明书附图对本申请实施例作进一步详细描述。
实施例一
如图1所示,为本申请实施例一提供的认证方式授权方法流程图,包括以下步骤:
S101:用户终端在确定安装的第一应用未被授权使用设定用户认证方式后,向服务器查询安装的第二应用是否已开通所述设定用户认证方式;其中,所述第二应用与所述第一应用属于同一应用集合。
这里的用户认证方式也即对登录应用的用户进行认证的方式。
本申请实施例中,同一应用集合内的各个应用可以使用相同的账户体系,比如同一应用集合内的各个应用的账户标识信息和密码相同。第二应用可以是该应用集合内已开通所述设定用户认证方式的任一应用;作为一种优选的方式,也可以是包括所述第一应用在内的应用集合中的核心应用,在该核心应用开通所述设定用户认证方式之前,该用户终端安装的所述应用集合内的其它应用不能被授权使用所述设定用户认证方式。
在具体实施中,用户终端在确定第一应用需要使用设定用户认证方式,比如Touch ID用户认证方式,进行用户认证(比如用户触发第一应用使用设定用户认证方式进行用户认证)后,可以首先基于第一应用的用户注册信息(比如第一应用为用户终端分别的设备标识device ID和第一应用的账户标识信息User ID)向服务器查询用户终端安装的该第一应用是否已被授权使用Touch ID用户认证方式,若是,则可以直接使用Touch ID用户认证方式进行用户认证。否则,先生成一对公私密钥,将其中的私钥加密后存储在本地钥匙链(keychain,用于存放密钥的数据库)中,并携带第一应用的用户注册信息(第一应用对应的device ID和User ID)跳转到第二应用进行授权绑定。这里的第二应用可以是第一应用所在应用集合中的核心应用,在本申请优选的实施方式中,只会对应用集合中的核心应用执行开通Touch ID用户认证方式的流程。
在具体实施中,用户终端在跳转到第二应用后,可以基于第二应用的用户注册信息(第二应用对应的device ID和User ID)向服务器查询该第二应用是否已开通Touch ID用户认证方式,在确定第二应用开通Touch ID用户认证方式后,执行下述授权绑定的步骤。
S102:用户终端在确定第二应用已开通所述设定用户认证方式后,向服务器发送认证方式授权请求,用于请求服务器授权所述第一应用使用所述设定用户认证方式,所述认证方式授权请求中包含所述第一应用的用户注册信息和所述第二应用的用户注册信息。
在具体实施过程中,用户终端在确定所述第二应用已开通所述设定用户认证方式后,以第二应用的名义向服务器请求授权第一应用使用Touch ID用户认证方式。用户终端发送给服务器的Touch ID用户认证方式授权请求中,除了包含第一应用和第二应用相同的账户标识信息(User ID)外,还可以包括第一应用和第二应用各自对应的设备标识(device ID),以及第二应用生成的公钥(Public Key,用于用户认证时使用)。
S103:服务器基于第一应用的用户注册信息和第二应用的用户注册信息,在确定第二应用已开通所述设定用户认证方式后,授权第一应用使用所述设定用户认证方式。
可选地,服务器在确定所述第一应用的账户标识信息和所述第二应用的账户标识信息相同、且所述第二应用为所述第一应用和第二应用所在应用集合中的核心应用后,判断所述第二应用是否已开通所述设定用户认证方式;在确定所述第二应用已开通所述设定用户认证方式后,授权所述第一应用使用所述设定用户认证方式。
在具体实施过程中,服务器基于第二应用的用户注册信息,确定该第二应用已开通Touch ID用户认证方式,且该第二应用为第一应用所在应用集合中的核心应用(基于第一应用和第二应用所共用的账户标识信息,可以获知第一应用和第二应用属于同一应用集合,第二应用为该应用集合中预设的核心应用)后,可以直接授权第一应用使用Touch ID用户认证方式。或者,可以对第一应用进行简单的授权验证,比如验证用户输入的登录密码是否正确等,与开通流程需要验证用户输入的账户密码、手机验证码、密保问题等多个步骤相比,授权验证的步骤要简单很多。
在本申请优选的实施方式中,只有在应用集合中的核心应用开通设定用户认证方式后,该应用集合内的其它应用才能被授权使用所述设定用户认证方式,若用户终端需要请求服务器授权第二应用授权使用所述设定用户认证方式,需将当前页面从第二应用跳转到第一应用,若第一应用此时未开通所述设定用户认证方式,将无法得到第二应用使用所述设定用户认证方式的授权,从而产生无效跳转。为了避免无效跳转,提升用户体验,本申请以下实施例二给出了优选的实施方式。
实施例二
如图2所示,为本申请实施例二提供的用户认证方式授权方法流程图,包括以下步骤:
S201:用户终端在确定安装的第一应用未被授权使用设定用户认证方式后,向服务器查询安装的第二应用是否已开通所述设定用户认证方式;其中,所述第二应用为包括所述第一应用在内的应用集合中的核心应用,在该核心应用开通所述设定用户认证方式之前,该用户终端安装的所述应用集合内的其它应用不能被授权使用所述设定用户认证方式。
S202:用户终端在确定第二应用已开通所述设定用户认证方式后,向服务器发送包含第一应用的用户注册信息和第二应用的用户注册信息的认证方式授权请求,用于请求服务器授权第一应用使用所述设定用户认证方式。
S203:服务器基于第一应用的用户注册信息和第二应用的用户注册信息,在确定第二应用已开通所述设定用户认证方式后,授权第一应用使用所述设定用户认证方式。
S204:用户终端在确定第二应用未开通所述设定用户认证方式后,向服务器发送包含第一应用的用户注册信息和第二应用的用户注册信息的认证方式开通授权请求,用于请求服务器为第二应用开通所述设定用户认证方式,并授权第一应用使用所述设定用户认证方式。
在具体实施过程中,如果作为核心应用的第二应用未开通Touch ID用户认证方式,则可以向服务器发送第一应用的用户注册信息及第一应用的公钥、第二应用的用户注册信息及第二应用的公钥,请求服务器为第一应用开通Touch ID用户认证方式,并授权第二应用使用该Touch ID用户认证方式。这里,第一应用和第二应用的账户标识信息相同,设备标识及公钥不同,比如发送给服务器的信息包括账户标识信息(User ID)、第一应用对应的设备标识(Device ID)、第一应用对应的公钥(Public Key)、第二应用对应的Device ID、第二应用对应的Public Key。
S205:服务器对第二应用进行开通验证,在验证通过后,为第二应用开通所述设定用户认证方式,并授权第一应用使用所述设定用户认证方式。
这里,服务器针对第二应用进行开通验证,比如验证用户针对第二应用输入的账户密码、手机验证码、密保问题等,并在验证通过后,为第二应用开通Touch ID认证方式;在为第二应用开通Touch ID认证方式后,可以直接授权第一应用使用Touch ID认证方式,或者对第一应用进行简单的授权验证(比如验证用户针对第一应用输入的账户密码)后,授权第一应用使用Touch ID认证方式。
本申请实施例中,由于其它应用只有在核心应用开通所述设定用户认证方式的前提下才能被授权使用所述设定用户认证方式,因此当用户触发注销应用集合中的核心应用的所述设定用户认证方式时,其它应用的所述设定用户认证方式一并被注销。而若用户触发注销应用集合中的其它非核心应用的所述设定用户认证方式时,此时可以只注销该非核心应用的设定用户认证方式,或者可以基于用户需求,跳转到核心应用的界面,以核心应用的名义为应用集合中所有被开通或授权使用所述设定用户认证方式的应用注销掉该设定用户认证方式。
实施例三
如图3所示,为本申请实施例三提供的认证方式授权方法流程图,包括以下步骤:
S301:用户终端在确定安装的第一应用未被授权使用设定用户认证方式后,向服务器查询安装的第二应用是否已开通所述设定用户认证方式;其中,所述第二应用为包括所述第一应用在内的应用集合中的核心应用,在该核心应用开通所述设定用户认证方式之前,该用户终端安装的所述应用集合内的其它应用不能被授权使用所述设定用户认证方式。
这里,当第一应用未被授权使用设定用户认证方式进行用户认证时,跳转到第二应用,以第二应用的名义请求授权使用所述设定用户认证方式。在具体实施中,为了防止恶意应用冲突第二应用的统一资源定位器(UniformResoure Locator,URL)而引导其它应用跳往自己进行钓鱼,或者其它应用非法跳转到第二应用中进行授权绑定,第二应用和同一应用集合内其它应用之间可以采用非对称密钥作相互认证。也即:
用户终端在确定安装的第一应用未被授权使用设定用户认证方式后,控制所述第一应用和第二应用使用非对称密钥进行相互认证,在认证成功后,向服务器查询安装的所述第二应用是否已开通所述设定用户认证方式。
在具体实施过程中,第一应用和第二应用使用非对称密钥进行相互认证的过程可以为:第一应用使用约定的私钥对携带的用户注册信息等作签名,第二应用使用约定的公钥解签,在解签成功后,执行跳转后的流程。
S302:用户终端在确定所述第二应用已开通所述设定用户认证方式后,向服务器发送包含所述第一应用的用户注册信息和所述第二应用的用户注册信息的认证方式授权请求,用于请求服务器授权所述第一应用使用所述设定用户认证方式。
S303:服务器基于所述第一应用的用户注册信息和第二应用的用户注册信息,在确定所述第二应用已开通所述设定用户认证方式后,授权所述第一应用使用所述设定用户认证方式。
S304:用户终端在确定所述第二应用未开通所述设定用户认证方式后,向服务器发送包含所述第一应用的用户注册信息和所述第二应用的用户注册信息的认证方式开通授权请求,用于请求服务器为所述第二应用开通所述设定用户认证方式,并授权所述第一应用使用所述设定用户认证方式。
S305:服务器对所述第二应用进行开通验证,在验证通过后,为所述第二应用开通所述设定用户认证方式,并授权所述第一应用使用所述设定用户认证方式。
S306:用户终端在确定需要注销第一应用的所述设定用户认证方式后,向服务器发送包含第一应用的用户注册信息的认证方式注销请求;或者,用户终端在确定需要注销第一应用的所述设定用户认证方式后,向服务器发送包含第二应用的用户注册信息的认证方式注销请求。
在具体实施中,当用户触发注销第一应用的Touch ID认证方式时,可以直接向服务器发送针对第一应用的Touch ID认证方式注销请求,服务器基于该第一应用的用户注册信息,将该第一应用的授权信息注销;或者,用户终端可以将当前页面从第一应用跳转到第二应用,以第二应用的名义请求注销Touch ID认证方式,此时第二应用及第二应用所在应用集合内其它被授权使用Touch ID认证方式的应用,都被注销掉了该用户认证方式。
S307:用户终端在确定需要注销第二应用的设定用户认证方式后,向服务器发送包含所述第二应用的用户注册信息的设定用户认证方式注销请求,用于请求服务器为所述第二应用及所述应用集合内其它被授权使用所述设定用户认证方式的应用,注销所述设定用户认证方式。
在具体实施过程中,当注销作为核心应用的第二应用时,会级联更新被授权的应用集合中的所有应用为注销状态,这样就实现了对该用户终端上安装的同一应用集合内的应用的联动注销。
S308:服务器在接收到用户终端发送的包含第一应用的用户注册信息的认证方式注销请求后,为该用户终端安装的第一应用注销所述设定用户认证方式;在接收到用户终端发送的包含第二应用的用户注册信息的认证方式注销请求后,为该用户终端安装的第二应用及所述应用集合内其它被授权使用所述设定用户认证方式的应用,注销所述设定用户认证方式。
可选地,所述方法还包括:
服务器接收用户终端发送的包含所述第二应用的用户注册信息的认证方式开通请求后,对所述第二应用进行开通验证,在验证通过后,为所述第二应用开通所述设定用户认证方式;并
根据存储的历史开通记录,查询所述第二应用之前是否开通过所述设定用户认证方式;
在确定所述第二应用之前开通过所述设定用户认证方式后,为所述第二应用所在的应用集合内之前被授权使用所述设定用户认证方式的其它应用,重新授权使用所述设定用户认证方式。
在具体实施过程中,当同一应用集合内的所有应用都注销了Touch ID认证方式时,若第二应用重新开通Touch ID认证方式(包含第二应用主动开通Touch ID认证方式及其它应用跳转过来被动开通Touch ID认证方式),则在对第二应用进行开通验证成功,并为第二应用开通Touch ID认证方式后,自动级联授权之前授权的同一应用集合内其它应用的Touch ID认证方式。
实施例四
如图4所示,为本申请实施例四提供的认证方式授权方法流程图,包括以下步骤:
S401:App2(相当于上述实施例中的第一应用)基于本地注册的设备标识(如表示为deviceid2)和账户标识信息(如表示为userid),向服务器查询自身是否已被授权使用Touch ID认证方式,若已被授权,则直接可以使用TouchID认证方式,否则生成一对公私密钥,将其中的私钥加密后存储在keychain,并携带公钥(如表示为publickey2)和设备标识(deviceid2)跳转到App1(相当于上述实施例中的第二应用)。
S402:采用App1的设备标识(如表示为deviceid1)和账户标识信息(与App2的账户标识信息相同),向服务器查询App1是否已开通Touch ID认证方式。
这里,如果服务器已为App1开通Touch ID认证方式,则在服务器端的开通记录中会有App1对应的账户标识信息(与App2相同,为userid)、设备标识(deviceid1)、公钥(publickey1),开通记录如下所示:
(userid,deviceid1,publickey1,Available(表示可以使用Touch ID认证方式),nil)//nil表示尚无被授权的其他App。
S403:若App1已开通Touch ID认证方式,则向服务器发起针对App2的Touch ID认证方式授权请求,服务器将App2的设备标识(即deviceid2)和公钥(即publickey2)添加到开通记录上;如下所示:
(userid,deviceid1,publickey1,available,
((deviceid2,publickey2,"App2",available)))
再比如,与App1、App2账户标识信息相同的App3也请求授权时,开通记录变为:
(userid,deviceid1,publickey1,available,
((deviceid2,publickey2,"App2",available),
(deviceid3,publickey3,"App3",available)))
这里,开通App1的流程要比授权流程复杂许多,开通过程通常需要用户输入账户密码、终端验证码、密保问题答案等,而授权过程由于风险较低(在App1开通的基础上授权),可以只需验证账户密码即可。
S404:App1注销Touch ID认证方式时,服务器自动级联更新共享相同的账户标识信息的其他App的Touch ID认证方式为注销状态;如下所示:
(userid,deviceid1,publickey1,unavailable(表示注销了Touch ID认证方式),
((deviceid2,publickey2,"App2",unavailable),
(deviceid3,publickey3,"App3",unavailable)))。
在具体实施中,若App2需要注销Touch ID认证方式,可以有两种方式,一种是向服务器请求删除App2的授权记录,其它App仍然可以使用Touch ID认证方式;另一种方式是跳往App1,利用App1的注销功能完成全局关闭,此时无论是App1还是其它被授权App,如App2,都无法再使用Touch ID认证方式。
S405:若App1重新开通Touch ID认证方式(主动开通或因其它APP跳转到App1而被动开通),则服务器在开通App1的Touch ID认证方式后,为之前授权的与该App1共享相同的账户标识信息的其他App重新授权使用TouchID认证方式;如下所示:
(userid,deviceid1,publickey1,available,
((deviceid2,publickey2,"App2",available),
(deviceid3,publickey3,"App3",available)))
在具体实施过程中,为了防止应用跳转的篡改和伪造,可以在App中存放一对非对称密钥用来做相互认证,以防止恶意App故意冲突App1的URL,引导其它App跳往自己进行钓鱼,并防止其它App非法跳转到App1进行授权绑定。
在具体实施过程中,App1中可以维护一个被授权的App列表,其中包含从服务器查找到的授权记录信息,如下所示:
(deviceid2,publickey2,"App2",available)
(deviceid3,publickey3,"App3",available)
用户可以基于上述APP列表对多个APP进行集中管理,如取消对某些App的Touch ID认证方式的授权等。可见,App1成为了进行单点控制的核心应用,可以控制该用户终端上安装的同一账户体系的其他被授权App的TouchID认证方式的可用性。
基于同一发明构思,本申请实施例中还提供了一种与认证方式授权方法对应的认证方式授权装置,由于该装置解决问题的原理与本申请实施例认证方式授权方法相似,因此该装置的实施可以参见方法的实施,重复之处不再赘述。
实施例五
如图5所示,为本申请实施例五提供的认证方式授权装置结构示意图,包括:
查询模块51,用于在确定安装的第一应用未被授权使用设定用户认证方式后,向服务器查询安装的第二应用是否已开通所述设定用户认证方式;其中,所述第二应用与所述第一应用属于同一应用集合;
发送模块52,用于在确定所述第二应用已开通所述设定用户认证方式后,向服务器发送认证方式授权请求,用于请求服务器授权所述第一应用使用所述设定用户认证方式,所述认证方式授权请求中包含所述第一应用的用户注册信息和所述第二应用的用户注册信息。
可选地,所述第二应用为所述应用集合内的核心应用,在该核心应用开通所述设定用户认证方式之前,所述用户终端安装的所述应用集合内的其它应用不能被授权使用所述设定用户认证方式。
可选地,所述用户注册信息中包含账户标识信息,所述第一应用的账户标识信息和所述第二应用的账户标识信息相同;所述账户标识信息用于所述服务器确认所述第一应用和所述第二应用属于同一应用集合。
可选地,所述发送模块52还用于:
在确定所述第二应用未开通所述设定用户认证方式后,向服务器发送认证方式开通授权请求,用于请求服务器为所述第二应用开通所述设定用户认证方式,并授权所述第一应用使用所述设定用户认证方式,所述认证方式开通授权请求中包含所述第一应用的用户注册信息和所述第二应用的用户注册信息。
可选地,所述发送模块52还用于:
在向服务器发送所述认证方式授权请求之后,若确定需要注销所述第一应用的设定用户认证方式,则向所述服务器发送包含所述第一应用的用户注册信息的认证方式注销请求,用于请求服务器为所述第一应用注销所述设定用户认证方式;或者,若确定需要注销所述第一应用的设定用户认证方式,则向所述服务器发送包含所述第二应用的用户注册信息的认证方式注销请求,用于请求服务器为所述第二应用及所述应用集合内其它被授权使用所述设定用户认证方式的应用,注销所述设定用户认证方式。
可选地,所述发送模块52还用于:
在向服务器发送所述认证方式授权请求之后,若确定需要注销所述第二应用的设定用户认证方式,则向所述服务器发送包含所述第二应用的用户注册信息的设定用户认证方式注销请求,用于请求服务器为所述第二应用及所述应用集合内其它被授权使用所述设定用户认证方式的应用,注销所述设定用户认证方式。
可选地,所述查询模块51具体用于:
在确定安装的第一应用未被授权使用设定用户认证方式后,控制所述第一应用和第二应用使用非对称密钥进行相互认证,在认证成功后,向服务器查询安装的所述第二应用是否已开通所述设定用户认证方式。
实施例六
如图6所示,为本申请实施例六提供的认证方式授权装置结构示意图,包括:
接收模块61,用于接收用户终端发送的认证方式授权请求;所述认证方式授权请求中包含安装的第一应用的用户注册信息和第二应用的用户注册信息;
处理模块62,用于基于所述第一应用的用户注册信息和第二应用的用户注册信息,在确定所述第二应用已开通所述设定用户认证方式后,授权所述第一应用使用所述设定用户认证方式;其中,所述第二应用与所述第一应用属于同一应用集合。
可选地,所述第二应用为所述应用集合内的核心应用,在该核心应用开通所述设定用户认证方式之前,所述用户终端安装的所述应用集合内的其它应用不能被授权使用所述设定用户认证方式。
可选地,所述用户注册信息中包含账户标识信息;
所述处理模块62具体用于:
在确定所述第一应用的账户标识信息和所述第二应用的账户标识信息相同、且所述第二应用为所述第一应用和第二应用所在应用集合中的核心应用后,判断所述第二应用是否已开通所述设定用户认证方式;在确定所述第二应用已开通所述设定用户认证方式后,授权所述第一应用使用所述设定用户认证方式。
可选地,所述接收模块61还用于:接收用户终端发送的认证方式开通授权请求,该认证方式开通授权请求中包含第一应用的用户注册信息和第二应用的用户注册信息;
所述处理模块62还用于:对所述第二应用进行开通验证,在验证通过后,为所述第二应用开通所述设定用户认证方式,并授权所述第一应用使用所述设定用户认证方式。
可选地,所述处理模块62具体用于:
对所述第一应用进行授权验证,并在验证成功后,授权所述第一应用使用所述设定用户认证方式。
可选地,所述处理模块62还用于:
在所述接收模块61接收到所述用户终端发送的包含所述第一应用的用户注册信息的设定用户认证方式注销请求后,为所述第一应用注销所述设定用户认证方式。
可选地,所述处理模块62还用于:
在所述接收模块61接收到所述用户终端发送的包含所述第二应用的用户注册信息的认证方式注销请求后,为所述第二应用及所述应用集合内其它被授权使用所述设定用户认证方式的应用,注销所述设定用户认证方式。
可选地,所述处理模块62还用于:
在所述接收模块61接收所述用户终端发送的包含所述第二应用的用户注册信息的认证方式开通请求后,对所述第二应用进行开通验证,在验证通过后,为所述第二应用开通所述设定用户认证方式;并根据存储的历史开通记录,查询所述第二应用之前是否开通过所述设定用户认证方式;在确定所述第二应用之前开通过所述设定用户认证方式后,为所述第二应用所在的应用集合内之前被授权使用所述设定用户认证方式的其它应用,重新授权使用所述设定用户认证方式。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、装置(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。