CN106973041B - 一种颁发身份认证凭据的方法、***及认证服务器 - Google Patents
一种颁发身份认证凭据的方法、***及认证服务器 Download PDFInfo
- Publication number
- CN106973041B CN106973041B CN201710121273.5A CN201710121273A CN106973041B CN 106973041 B CN106973041 B CN 106973041B CN 201710121273 A CN201710121273 A CN 201710121273A CN 106973041 B CN106973041 B CN 106973041B
- Authority
- CN
- China
- Prior art keywords
- authentication
- authority
- server
- application
- module
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 41
- 238000013475 authorization Methods 0.000 claims abstract description 171
- 238000001629 sign test Methods 0.000 claims description 64
- 230000004044 response Effects 0.000 claims description 51
- 230000005540 biological transmission Effects 0.000 claims description 17
- 235000009421 Myristica fragrans Nutrition 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 239000009153 huxin Substances 0.000 description 2
- 239000001115 mace Substances 0.000 description 2
- 229910052709 silver Inorganic materials 0.000 description 2
- 239000004332 silver Substances 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0815—Network architectures or network communication protocols for network security for authentication of entities providing single-sign-on or federations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/083—Network architectures or network communication protocols for network security for authentication of entities using passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3226—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明涉及通信领域,特别涉及一种颁发身份认证凭据的方法、***及认证服务器;该方法具体包括:认证服务器接收应用服务器发送的鉴权请求,当用户从用户认证页面输入用户信息时,判断用户信息是否合法,是则生成授权码,并且将授权发送给应用服务器;当认证服务器接收到身份认证凭据申请时,根据身份认证凭据中的应用标识和应用密码判断应用服务器是否合法,并判断身份认证凭据中的授权码是否有效,当判断均为是时,认证服务器根据应用标识、认证服务器标识和用户信息组织身份认证凭据,并用私钥对身份认证凭据签名,将签名结果和身份认证凭据发送给应用服务器。本发明使得户登录更加方便快捷,并且降低了网站自己创建会员***和登录功能的成本。
Description
技术领域
本发明涉及通信领域,特别涉及一种颁发身份认证凭据的方法、***及认证服务器。
背景技术
现有技术中用户首次使用某网站的服务时一般需要经过繁琐的注册账号的过程,网站注册账号一般通过两种方式,第一种为通过用户自选的字母或者数据作为账号,同时需要填写繁多的用户信息;并且当用户在多个网站注册账号后则面临记忆大量的网站账号的麻烦,若用户忘记网站账号则需要重新注册网站账号;第二种方式用户也可以通过已有的邮箱地址来注册网站账号,但是用户往往会接收到更多的垃圾邮件,用户体验差。每个提供服务的网站都需要建立自己的会员***和登录功能,增加的网站的开发成本。
发明内容
本发明提供了一种颁发身份认证凭据的方法、***及认证服务器,
一种颁发身份认证凭据的方法,包括:
步骤S1、当接收到用户触发的访问请求后,应用服务器跳转到用户认证页面,并向认证服务器发送鉴权请求;
步骤S2、当用户从用户认证页面输入用户信息时,认证服务器从用户认证页面获取用户信息,并判断用户信息是否合法,是则生成授权码,并将授权法返回给应用服务器,执行步骤S3,否则结束;
步骤S3、应用服务器根据授权码以及于现在认证服务器注册的应用标识和应用密码组织获取身份认证凭据请求,并将获取身份认证凭据请求发送给认证服务器;
步骤S4、认证服务器根据获取身份认证凭据请求中的应用标识和应用密码判断应用的服务器是否合法,并判断获取身份认证凭据请求中的授权码是否有效,当判断均为是时执行步骤S5,否则结束;
步骤S5、认证服务器根据应用标识,认证服务器标识和用户信息组织身份认证凭据,并使用私钥对身份认证凭据进行签名,将签名结果和身份认证凭据发送给应用服务器;
步骤S6、应用服务器使用公钥对签名签名结果进行验签,若验签通过,将所述身份认证凭据与用户进行绑定。
一种颁发身份认证凭据的方法,包括:
步骤R1、认证服务器接收应用服务器发送的鉴权请求,当用户从用户认证页面输入用户信息时,从用户认证页面获取用户信息,并判断用户信息是否合法,是则生成授权码,并将授权码返回给应用服务器,执行步骤R2,否则结束;
步骤R2、当认证服务器接收到应用服务器发送的获取身份认证凭据请求时,根据获取身份认证凭据请求中的应用标识和应用密码判断应用服务器是否合法,并判断获取身份认证凭据请求中的授权码是否有效,当判断均为是时执行步骤R3,否则结束;
步骤R3、认证服务器根据应用标识,认证服务器标识和用户信息组织身份认证凭据,并使用私钥对身份认证凭据进行签名,将签名结果和身份认证凭据发送给应用服务器。
一种颁发身份认证凭据的***,包括认证服务器和应用服务器;
应用服务器具体包括:
第一发送模块,用于接收接收到用户触发的访问请求,跳转到用户认证页面,并向认证服务器发送鉴权请求;还用于将第一组织模块组织的所获取身份认证凭据请求发送给所述认证服务器;
第二接收模块,用于接收认证服务器发送的所述授权码;还用于接收认证服务器发送的签名结果和身份认证凭据;
第一组织模块,用于根据第二接收模块接收到的授权码以及在认证服务器预先注册的应用标识和应用密码组织获取身份认证凭据请求;
绑定模块,用于使用公钥对所述第二接收模块接收到的所述签名结果验签,若验签通过,将所述第二接收模块接收到的所述身份认证凭据与用户进行绑定;
认证服务器具体包括:
第一接收模块,用于接收应用服务器发送的鉴权请求;还用于接收应用服务器发送的获取身份认证凭据请求;
获取用户信息模块,当用户从用户认证页面输入用户信息之后,用于从用户认证页面获取所述用户信息
第一判断模块,用于第一接收模块接收到鉴权请求之后,判断获取用户信息模块获取到的用户信息是否合法;
授权码生成模块,用于当第一判断模块判定用户信息合法后生成授权码;
第一发送模块,用于将授权码生成模块生成的授权码发送给应用服务器;还用于将签名模块签名得到的签名结果和第二组织模块组织的身份认证凭据发送给应用服务器;
第二判断模块,用于根据所述第一接收模块接收到的所述获取身份认证凭据请求中的所述应用标识和所述应用密码判断所述应用服务器是否合法,并判断所述所述第一接收模块接收到的所述获取身份认证凭据请求中的所述授权码是否有效;
第二组织模块,用于当第二判断模块判定应用服务器合法且授权码有效时根据第一接收模块接收到的获取身份认证凭据请求中的应用标识、认证服务器标识和获取用户信息模块获取到的用户信息组织身份认证凭据;
签名模块,用于使用私钥对第二组织模块组织得到的身份认证凭据进行签名得到签名结果。
一种颁发身份认证凭据的认证服务器,包括:
第一接收模块,用于接收应用服务器发送的鉴权请求;还用于接收应用服务器发送的获取身份认证凭据请求;
获取用户信息模块,当用户从用户认证页面输入用户信息时,用于从用户认证页面获取用户信息;
第一判断模块,用于当第一接收模块接收到鉴权请求时,判断获取用户信息模块获取到的用户信息是否合法;
授权码生成模块,用于当第一判断模块判定用户信息合法后生成授权码;
第一发送模块,用于将授权码生成模块生成的授权码发送给应用服务器;还用于将签名模块签名得到的签名结果和第二组织模块组织的身份认证凭据发送给应用服务器;
第二判断模块,用于根据所述第一接收模块接收到的所述获取身份认证凭据请求中的所述应用标识和所述应用密码判断所述应用服务器是否合法,并判断所述所述第一接收模块接收到的所述获取身份认证凭据请求中的所述授权码是否有效;
第二组织模块,用于当第二判断模块判定应用服务器合法且授权码有效时根据第一接收模块接收到的获取身份认证凭据请求中的应用标识、认证服务器标识和获取用户信息模块获取到的用户信息组织身份认证凭据;
签名模块,用于使用私钥对第二组织模块组织得到的身份认证凭据进行签名得到签名结果。
本发明的有益效果为:简化了用户注册登录网站的流程,避免了重复注册、填写身份资料的繁琐过程,使得用户登录更加快捷方便,用户不需要记忆大量的网站账号,用户只需在认证服务器上注册身份认证凭据即可登录任何支持该身份认证凭据登录的网站自由登录,并且为提供服务的网站减少了创建自己的会员***和登录功能的成本。
附图说明
为了更清楚的说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例1提供的一种颁发身份认证凭据的方法的流程图;
图2和图3为本发明实施例2提供的一种颁发身份认证凭据的方法的流程图;
图4为本发明实施例3提供的一种颁发身份认证凭据的***的方框图;
图5为本发明实施例4提供的一种颁发身份认证凭据的认证服务器的方框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1
本实施例提供一种颁发身份认证凭据的方法,具体包括:
步骤S1、当接收到用户触发的访问请求后,应用服务器跳转到用户认证页面,并向认证服务器发送鉴权请求;
步骤S2、当用户从用户认证页面输入用户信息时,认证服务器从用户认证页面获取用户信息,并判断用户信息是否合法,是则生成授权码,并将授权法返回给应用服务器,执行步骤S3,否则结束;
进一步给的,鉴权请求中包括:重定向URL;
将授权码返回给应用服务器具体为:将授权码根据重定向URL返回给应用服务器。
优选的,步骤S1和步骤S2之间还包括:认证服务器判断鉴权请求中的所有必要参数是否都存在且有效,是则执行步骤S2,否则向应用服务器返回鉴权失败响应,结束。
进一步的,判断鉴权请求中的所有必要参数是否都存在且有效具体包括:
步骤A1、认证服务器判断鉴权请求中是否包含应用标识和重定向URL,是则执行步骤A2,否则向应用服务器返回鉴权失败响应,结束;
步骤A2、认证服务器从鉴权请求中获取应用标识,根据应用标识判断应用服务器是否已经注册过,是则执行步骤A3,否则向应用服务器返回鉴权失败响应,结束;
步骤A3、认证服务器根据应用标识获取应用服务器预先注册的重定向URL,并判断鉴权请求中的重定向URL与预存的重定向URL是否匹配,是则执行步骤S2,否则向应用服务器返回鉴权失败响应,结束。
步骤S3、应用服务器根据授权码以及预先在认证服务器注册的应用标识和应用密码组织获取身份认证凭据请求,并将获取身份认证凭据请求发送给认证服务器;
步骤S4、认证服务器根据获取身份认证凭据请求中的应用标识和应用密码判断应用服务器是否合法,并判断获取身份认证凭据请求中的授权码是否有效,当判断均为是时执行步骤S5,否则结束;
优选的,步骤S3具体包括:
步骤B1、应用服务器将预先在认证服务器注册的应用标识和应用密码进行加密生成应用密文信息;
步骤B2、应用服务器根据应用密文信息和授权码组织获取身份认证凭据请求,并将获取身份认证凭据请求发送给认证服务器;
步骤S4具体包括:认证服务器从获取身份认证凭据请求中获取应用密文信息,对应用密文信息进行解密得到应用标识和所述应用密码,根据应用标识和应用密码判断应用服务器是否合法,并判断获取身份认证凭据请求中的授权码是否有效,当判断均为是时执行步骤S5,否则结束。
步骤S5、认证服务器根据应用标识,认证服务器标识和用户信息组织身份认证凭据,并使用私钥对身份认证凭据进行签名,将签名结果和身份认证凭据发送给应用服务器;
步骤S6、应用服务器使用公钥对签名结果进行验签,若验签通过,将身份认证凭据与用户进行绑定。
具体的,将身份认证凭据与用户进行绑定具体为:所述应用服务器从身份凭据中获取用户信息,并将用户信息与身份认证凭据对应存储。
可选的,将身份认证凭据与用户进行绑定具体为:应用服务器分配字符串作为用户标识,将用户标识与身份认证凭据进行对应存储。
优选的,鉴权请求中还包括:请求访问的资源范围;
步骤S5具体包括:认证服务器生成访问凭据,将访问凭据和请求访问的资源范围对应存储;并根据应用标识、认证服务器标识和用户信息组织身份认证凭据,并使用私钥对身份认证凭据进行签名,并将身份认证凭据、签名结果和访问凭据发送给应用服务器;
步骤S6之后还包括:应用服务器使用访问凭据从认证服务器中获取请求访问的资源范围内的资源。
优选的,步骤S6中应用服务器使用公钥对签名结果验签,若验签通过之后,将所述身份认证凭据与用户进行绑定之前还包括:应用服务器判断身份认证凭据中的应用标识是否合法,是则继续执行将身份认证凭据与用户进行绑定,否则向认证服务器返回身份认证凭据无效信息,结束。
进一步的,步骤S2中判定用户信息合法后,生成授权码之前还包括:认证服务器根据请求访问的资源范围跳转到用户授权页面,判断从用户授权页面中是否可以获取到对请求访问的资源范围的允许授权信息,是则生成授权码,否则向应用服务器返回鉴权失败响应。
优选的,步骤S5具体包括:认证服务器获取当前服务器时间作为身份认证凭据发送时间,根据应用标识、认证服务器标识、用户信息和身份认证凭据发送时间组织身份认证凭据,并使用私钥对身份认证凭据进行签名,将身份认证凭据、签名结果和访问凭据发送给应用服务器。
步骤S6中应用服务器使用公钥对签名结果验签,若验签通过得到身份认证凭据之后,将身份认证凭据与用户进行绑定之前还包括:应用服务器判断身份认证凭据中的身份认证凭据发送时间是否早于第一预设时间,是则向所述认证服务器发送所述身份认证凭据无效信息,结束;否则继续执行所述将所述身份认证凭据与用户进行绑定。
优选的,步骤S2判定用户合法时候还包括:获取服务器当前时间作为鉴别终端用户时间;
步骤S5具体包括:认证服务器根据应用标识、认证服务器标识、用户信息和鉴别终端用户时间组织身份认证凭据,并使用私钥对身份认证凭据进行签名,将签名结果和身份认证凭据发送给应用服务器;
步骤S6中应用服务器使用公钥对签名结果验签,若验签通过得到身份认证凭据之后,将身份认证凭据与用户进行绑定之前还包括:应用服务器判断身份认证凭据中的鉴别终端用户时间是否早于第二预设时间,是则向认证服务器发送身份认证凭据无效信息;否则继续执行将身份认证凭据与用户进行绑定。
优选的,步骤S5中具体包括:认证服务器根据应用标识、认证服务器标识、用户信息和身份认证凭据有效期组织身份认证凭据,并使用私钥对身份认证凭据进行签名,将签名结果和身份认证凭据发送给应用服务器;
步骤S6中应用服务器使用公钥对签名结果验签,若验签通过之后,将身份认证凭据与用户进行绑定之前还包括:应用服务器判断当前服务器时间是否早于身份认证凭据的有效期,是则继续执行将所述身份认证凭据与用户进行绑定,否则向认证服务返回身份认证凭据无效信息。
本实施例又提供一种颁发身份认证凭据的方法,参见图1,包括:
步骤R1、认证服务器接收应用服务器发送的鉴权请求,当用户从用户认证页面输入用户信息时,从用户认证页面获取用户信息,并判断用户信息是否合法,是则生成授权码,并将授权码返回给应用服务器,执行步骤R2,否则向应用服务器返回鉴权失败响应,结束;
具体的,鉴权请求中包括:重定向URL;
将授权码返回给应用服务器具体为:将授权码根据重定向URL返回给应用服务器。
优选的,步骤R1中判定所述用户信息合法后,生成授权码之前还包括:认证服务器根据请求访问的资源范围跳转到用户授权页面,判断从用户授权页面中是否可以获取到对请求访问的资源范围的允许授权信息,是则生成授权码,否则向应用服务器返回鉴权失败响应,结束。
优选的,步骤R1中认证服务器接收到鉴权请求之后,从用户认证页面获取用户信息之前还包括:认证服务器判断鉴权请求中的所有必要参数是否都存在且有效,是则继续执行从用户认证页面获取用户信息,否则向应用服务器返回鉴权失败响应,结束。
具体的,判断所述鉴权请求中的所有必要参数是否都存在且有效具体包括:
步骤C1、认证服务器判断鉴权请求中是否包含应用标识和重定向URL,是则执行步骤C2,否则向应用服务器返回鉴权失败响应,结束;
步骤C2、认证服务器从鉴权请求中获取应用标识,根据应用标识判断应用服务器是否已经注册过,是则执行步骤C3,否则向应用服务器返回鉴权失败响应,结束;
步骤C3、认证服务器根据应用标识获取应用服务器预先注册的重定向URL,并判断鉴权请求中的重定向URL与预存的重定向URL是否匹配,是则执行步骤C2,否则向应用服务器返回鉴权失败响应,结束。
步骤R2、当认证服务器接收到应用服务器发送的获取身份认证凭据请求时,根据获取身份认证凭据请求中的应用标识和应用密码判断应用服务器是否合法,并判断获取身份认证凭据请求中的授权码是否有效,当判断均为是时执行步骤R3,否则向应用服务器返回鉴权失败响应,结束;
具体的,步骤R2具体包括:认证服务器从获取身份认证凭据请求中获取应用密文信息,对应用密文信息进行解密得到应用标识和应用密码,根据应用标识和应用密码判断应用服务器是否合法,并判断获取身份认证凭据请求中的授权码是否有效,当判断均为是时执行步骤R3,否则向应用服务器返回鉴权失败响应,结束。
步骤R3、认证服务器根据应用标识,认证服务器标识和用户信息组织身份认证凭据,并使用私钥对身份认证凭据进行签名,将签名结果发送给应用服务器。
若鉴权请求中还包括:请求访问的资源范围;
步骤R3具体包括:认证服务器生成访问凭据,将访问凭据和请求访问的资源范围对应存储;并根据应用标识、认证服务器标识和用户信息组织身份认证凭据,并使用私钥对身份认证凭据和访问凭据进行签名,并将签名结果和访问凭据发送给应用服务器。
可选的,步骤R3具体包括:认证服务器获取当前服务器时间作为身份认证凭据发送时间,根据应用标识、认证服务器标识、用户信息和身份认证凭据发送时间组织身份认证凭据,并使用私钥对身份认证凭据进行签名,将签名结果发送给所述应用服务器。
可选的,步骤R1中判定用户合法时还包括:获取服务器当前时间作为鉴别终端用户时间;
步骤R3具体包括:认证服务器根据所述应用标识、认证服务器标识、用户信息和鉴别终端用户时间组织身份认证凭据,并使用私钥对身份认证凭据进行签名,将签名结果发送给应用服务器。
可选的,步骤R3中具体包括:认证服务器根据应用标识、认证服务器标识、用户信息和身份认证凭据有效期组织身份认证凭据,并使用私钥对身份认证凭据进行签名,将签名结果发送给应用服务器。
实施例2
本实施例提供一种颁发身份认证凭据的方法,如图2和图3所示,包括:
终端用户需预先向认证服务器注册用户信息,所述用户信息具体包括用户名和密码;认证服务器需要为终端用户分配唯一的终端用户标识。
应用服务器需预先向认证服务器注册应用服务器的重定向URL以及认证服务器所要求的其他信息,认证服务器所要求的其他信息包括应用名称、应用密码;认证服务器为应用服务器分配唯一的应用标识;并且应用服务器应预先与认证服务器协商身份认证凭据的公私钥对等信息。
步骤101、应用服务器当接收到用户触发的访问请求后,跳转到用户认证页面,并组织包括请求访问的资源范围、响应类型、应用标识、重定向URL的鉴权请求。
请求访问的资源范围需包含预设参数,用于标识本请求是一个身份认证请求;响应类型用于确定当前使用的用户认证方式,例如当使用授权码鉴别流程时,该响应类型具体为code;优选的,鉴权请求还包括:状态标识,该值对认证服务器和应用服务器外的其他应用均不可见。
本实施例中,鉴权请求具体为:
HTTP/1.1 302 Found
Location:https://server.example.com/authorize?
response_type=code&scope=openid%20profile%20email&client_id=s6BhdRkqt3&state=af0ifjsldkj&redirect_uri=https://client.example.org/cb?
其中,response_type=code表明响应类型为授权码;scope=openid%20profile%20email表明该请求访问的资源范围为鉴权请求,且请求访问的资源范围是终端用户标识和邮箱地址;client_id=s6BhdRkqt3表明依赖方标识为s6BhdRkqt3;state=af0ifjsldkj表明状态标识为af0ifjsldkj;redirect_uri=https://client.example.org/cb?表明重定向URL为https%3A%2F%2Fclient.example.org%2Fcb。
步骤102、应用服务器将鉴权请求发送给认证服务器。
步骤103、认证服务器判断鉴权请求中所有必选参数是否都存在且有效,是则执行步骤104;否则向应用服务器返回鉴权失败响应,结束。
步骤103具体包括:
步骤103-1、认认证服务器判断鉴权请求中是否包含应用标识和重定向URL;是则执行步骤103-2,否则向所述应用服务器返回鉴权失败响应,结束。
步骤103-2、认证服务器从鉴权请求中获取应用标识,判断应用服务器是否已经注册过,是则执行步骤103-3,否则向所述应用服务器返回鉴权失败响应,结束。
步骤103-3、认证服务器根据应用标识获取应用服务器预先注册的重定向URL,并判断鉴权请求中的重定向URL与预存的重定向URL是否匹配,是则执行步骤104,否则向应用服务器返回鉴权失败响应,结束。
步骤104、当用户从用户认证页面中输入用户信息时,认证服务器从用户认证页面中获取用户信息,并判断用户信息是否合法,是则获取服务器当前时间作为鉴权终端用户时间,执行步骤105,否则向应用服务器返回鉴权失败响应,结束。
步骤105、认证服务器根据请求访问的资源范围跳转到用户授权页面,判断从用户授权页面中是否可以获取到对请求访问的资源范围的允许授权信息;是则执行步骤106,否则向应用服务器返回鉴权失败响应,结束
步骤106、认证服务器生成授权码,将授权码与应用标识和重定向URL绑定,并根据重定向URL和授权码生成鉴权成功响应,并将鉴权成功响应发送给应用服务器。
具体的,认证服务器生成随机字符串作为授权码,例如,本实施例中生成的授权码为SplxlOBeZQQYbYS6WxSbIA。
鉴权响应具体为:
HTTP/1.1 302 Found
Location:https://client.example.org/cb?code=SplxlOBeZQQYbYS6WxSb IA&state=af0ifjsldkj
其中https://client.example.org/cb?为应用服务器预存的重定向URL,code=SplxlOBeZQQYbYS6WxSbIA表明认证服务器生成的授权码为SplxlOBeZQQYbYS6WxSbIA;
优选的,鉴权响应中还包括状态标识。
步骤107、应用服务器将应用标识和应用密码进行加密生成应用密文信息;
步骤108、应用服务器根据应用密文信息、授权码和重定向URL生成身份认证凭据请求,并将身份认证凭据请求发送过给认证服务器;
获取身份认证凭据请求具体包括
POST/token HTTP/1.1
Host:server.example.com
Content-Type:application/x-www-form-urlencoded
Authorization:Basic czZCaGRSa3F0MzpnWDFmQmF0M2JW
grant_type=authorization_code&code=SplxlOBeZQQYbYS6WxSbIA&redirect_uri=https%3A%2F%2Fclient.example.org%2Fcb
步骤109、认证服务器从获取身份认证凭据请求中获取应用密文信息,对应用密文信息进行解密生成应用标识和应用密码;
步骤110、认证服务器根据应用标识和应用密码判断所述应用服务器是否合法,是则执行步骤111,否则向应用服务器返回鉴权失败响应,结束。
具体的,认证服务器判断是否可以查询到与应用密文信息解密得到的应用标识和应用密码一致的信息,是则判定应用服务器合法;否则向应用服务器返回鉴权失败响应,结束。
步骤111、认证服务器判断获取身份认证凭据请求中的重定向URL与应用服务器预先注册的重定向URL是否一致,是则执行步骤112,否则向所述应用服务器返回鉴权失败响应,结束
步骤112、认证服务器从获取身份认证凭据请求中获取授权码,判断授权码是否有效,是则执行步骤113,向应用服务器返回鉴权失败响应,结束。
具体的,认证服务器判断与应用标识符绑定的授权码与从获取认证凭据请求中获取到的授权码是否一致,是则判定授权码有效,否则判定授权码无效。
步骤113、认证服务器获取当前服务器时间作为身份认证凭据的发放时间;
步骤114、认证服务器根据应用标识、认证服务器标识和用户信息、身份认证凭据有效期、发放身份认证凭据时间、鉴别终端用户时间组织身份认证凭据;
需要说明的是:身份认证凭据有效期、发放身份认证凭据时间、鉴别终端用户的时间均为JSON数字代表自1970年1月1日0时0分0秒至发放时间的秒数;本实施例中认证服务器生成的身份认证凭据具体为:{"iss":"https://server.example.com","sub":"24400320","aud":"s6BhdRkqt3","nonce":"n-0S6_WzA2Mj","exp":1311281970,"iat":1311280970,"auth_time":1311280969,"acr":"urn:mace:incommon:iap:silver"}其中"iss":"https://server.example.com"表明认证服务器标识为https://server.example.com;"sub":"24400320"表明用户信息为24400320;"aud":"s6BhdRkqt3"表明应用服务器标识为s6BhdRkqt3;"exp":1311281970表明身份认证凭据有效期;"iat":1311280970,表明发放身份认证凭据时间"auth_time":1311280969表明鉴别终端用户时间;
步骤115、认证服务器使用私钥对身份认证凭据进行签名得到签名结果;
具体的,签名算法可以为RHA256withRSA算法。除此之外,还可以是其他算法,例如SHA1withRSA、SM2签名算法等。
步骤116、认证服务器生成访问凭据;根据身份认证凭据、签名结果和访问凭据生成获取身份认证凭据响应;并向应用服务器发送获取身份认证凭据响应。
具体的,本实施例中,获取身份认证凭据响应包括:访问凭据、访问类型、访问凭据有效期、更新凭据、签名结果。
优选的,获取身份认证凭据响应的头部应表明,响应中的所有内容都不会被缓存且所有内容都不会被缓存到临时文件中。
本实施例中,获取认证凭据响应具体为:
HTTP/1.1 200OK
Content-Type:application/json
Cache-Control:no-store
Pragma:no-cache
{"access_token":"SlAV32hkKG","token_type":"Bearer","refresh_token":"8xLOxBtZp8","expires_in":3600,"iss":"https://server.example.com","sub":"24400320","aud":"s6BhdRkqt3","nonce":"n-0S6_WzA2Mj","exp":1311281970,"iat":1311280970,"auth_time":1311280969,"acr":"urn:mace:incommon:iap:silver""id_token":"eyJhbGciOiJSUzI1NiIsImtpZCI6IjFlOWdkazcifQ.ewogImlzcyI6ICJodHRwOi8vc2VydmVyLmV4YW1wbGUuY29tIiwKICJzdWIiOiAiMjQ4Mjg5NzYxMDAxIiwKICJhdWQiOiAiczZCaGRSa3F0MyIsCiAibm9uY2UiOiAibi0wUzZfV3pBMk1qIiwKICJleHAiOiAxMzExMjgxOTcwLAogImlhdCI6IDEzMTEyODA5NzAKfQ.ggW8hZ1EuVLuxNuuIJKX_V8a_OMXzR0EHR9R6jgdqrOOF4daGU96Sr_P6qJp6IcmD3HP99Obi1PRs-cwh3LO-p146waJ8IhehcwL7F09JdijmBqkvPeB2T9CJNqeGpe-gccMg4vfKjkM8FcGvnzZUN4_KSP0aAp1tOJ1zZwgjxqGByKHiOtX7TpdQyHE5lcMiKPXfEIQILVq0pc_E2DzL7emopWoaoZTF_m0_N0YzFC6g6EJbOEoRoSK5hoDalrcvRYLSrQAZZKfl yuVCyixEoV9GfNQC3_osjzw2PAithfubEEBLuVVk4XUVrWOLrLl0nx7RkKU8NXNHq-rvKMzqg"}
其中,访问凭据access_token具体为SlAV32hkKG;访问类型token_type具体为Bearer、访问凭据有效期expires_in为3600分钟、更新凭据refresh_token具体为8xLOxBtZp8、签名结果为id_token的值。
步骤117、应用服务器从获取身份认证凭据响应中获取签名结果,使用应用服务器注册时指定的公钥对签名结果进行验签,若验签通过,执行步骤118,否则进行错误处理;
步骤118、应用服务器判断身份认证凭据中的应用标识是否为正确,是则执行步骤119,否则向认证服务器发送身份认证凭据无效信息。
具体的,应用服务器判断身份认证凭据中的应用标识与应用服务器注册时认证服务器分配的应用标识是否一致,是则判定应用标识正确,否则判定应用标识不正确。
步骤119、应用服务器从身份认证凭据中获取身份认证凭据有效期,判断当前时间是否早于身份认证凭据有效期,是则执行步骤120;否则向认证服务器发送身份认证凭据无效信息。
步骤120、应用服务器从身份认证凭据中获取发放身份认证凭据时间,判断发放身份认证凭据时间是否早于第一预设时间,是则向认证服务器发送身份认证凭据无效信息;否则执行步骤121。
步骤121、应用服务器从身份认证凭据中获取鉴别终端用户时间,判断鉴别终端用户时间是否早于第二预设时间,是则向认证服务器发送身份认证凭据无效信息;否则将身份认证凭据与用户绑定。
具体的,将身份认证凭据与用户进行绑定具体为:应用服务器从身份凭据中获取用户信息,并将用户信息与身份认证凭据对应存储。
将身份认证凭据与用户进行绑定具体为:应用服务器分配字符串作为用户标识,将用户标识与身份认证凭据进行对应存储。
需要说明的是步骤121之后,应用服务器完成终端用户完成身份认证,并可以为终端用户提供相应的服务,或者应用服务器可以使用访问凭据从认证服务器中获取步骤105所述的认证服务器中由终端用户授权的资源。
进一步的,所述步骤118、步骤119、步骤120和步骤121应用服务器向认证服务器发送终端用户身份认证失败后还可以执行应用服务器向认证服务器发送重新认证终端用户请求。
实施例3
本实施例提供一种颁发身份认证凭据的***,参见图4,包括应用服务器和认证服务器;
应用服务器具体包括:
第一发送模块,用于接收到用户触发的访问请求,跳转到用户认证页面,并向认证服务器发送鉴权请求;还用于将第一组织模块组织的所获取身份认证凭据请求发送给认证服务器;
第二接收模块,用于接收认证服务器发送的授权码;还用于接收认证服务器发送的签名结果和身份认证凭据;
第一组织模块,用于根据第二接收模块接收到的授权码以及在认证服务器预先注册的应用标识和应用密码组织获取身份认证凭据请求;
绑定模块,用于使用公钥对所述第二接收模块接收到的所述签名结果验签,若验签通过,将所述第二接收模块接收到的所述身份认证凭据与用户进行绑定;
具体的,绑定模块具体用于,用于使用公钥对所述第二接收模块接收到的所述签名结果验签,若验签通过,从身份认证凭据中获取用户信息,并将用户信息与身份认证凭据对应存储。
具体的,绑定模块具体用于,用于使用公钥对所述第二接收模块接收到的所述签名结果验签,若验签通过,分配字符串作为用户标识,将用户标识与身份认证凭据进行对应存储。
优选的,绑定模块具体包括:
验签子模块,用于使用公钥对所述第二接收模块接收到的所述签名结果验签;
第六判断子模块,用于若所述验签子模块验签通过时,判断所述第二接收模块接收到的身份认证凭据中的应用标识是否合法;
绑定子模块,用于当所述第六判断子模块判定所述应用标识合法时,将所述身份认证凭据与用户进行绑定;
所述第一发送模块,还用于当所述第六判断子模块判定所述应用标识不合法时向所述认证服务器发送身份认证凭据无效信息。
认证服务器具体包括:
第一接收模块,用于接收应用服务器发送的鉴权请求;还用于接收应用服务器发送的获取身份认证凭据请求;
获取用户信息模块,当用户从用户认证页面输入用户信息之后,用于从用户认证页面获取用户信息;
第一判断模块,用于第一接收模块接收到鉴权请求之后,判断获取用户信息模块获取到的用户信息是否合法;
授权码生成模块,用于当第一判断模块判定用户信息合法后生成授权码;
第二发送模块,用于将授权码生成模块生成的授权码发送给应用服务器;还用于将签名模块签名得到的签名结果和第二组织模块组织的身份认证凭据发送给应用服务器;
具体的,第一接收模块接收到的所述鉴权请求中还包括重定向URL;
第二发送模块,具体用于将授权码生成模块生成的授权码根据重定向URL发送给应用服务器。
第二判断模块,用于根据第一接收模块接收到的获取身份认证凭据请求中的应用标识和应用密码判断应用服务器是否合法,并判断所述第一接收模块接收到的获取身份认证凭据请求中的授权码是否有效;
第二组织模块,用于当第二判断模块判定应用服务器合法且授权码有效时根据第一接收模块接收到的获取身份认证凭据请求中的应用标识、认证服务器标识和获取用户信息模块获取到的用户信息组织身份认证凭据;
签名模块,用于使用私钥对第二组织模块组织得到的身份认证凭据进行签名得到签名结果。
优选的,认证服务器还包括:第三判断模块,用于判断所述第一接收模块接收到的鉴权请求中的所有必要参数是否都存在且有效;
第一判断模块,用于当第三判断模块判定鉴权请求中的所有必要参数存在且有效时,判断获取用户信息模块获取到的用户信息是否合法。
第二发送模块,还用于第三判断模块判定鉴权请求中所有必要参数不都存在或者不都有效时向应用服务器发送鉴权失败响应。
更为详细的是,第三判断模块具体包括:
第一判断子模块,用于判断第一接收模块接收到的鉴权请求中是否包含应用标识和重定向URL;
第二判断子模块,用于第一判断子模块判定鉴权请求中包含应用标识和重定向URL时从鉴权请求中获取应用标识,根据应用标识判断应用服务器是否已经注册过;
第三判断子模块,用于当第二判断子模块判定应用服务器已经注册过时根据应用标识获取预存的重定向URL,根据应用标识获取应用服务器预先注册的重定向URL,并判断鉴权请求中的重定向URL与预存的重定向URL是否匹配;
第一判断模块,具体用于第三判断子模块判定所述鉴权请求中的重定向URL与所述预存的重定向URL匹配时,判断获取用户信息模块获取到的用户信息是否合法;
第二发送模块,还用于第三判断子模块模块判定鉴权请求中的重定向URL与预存的重定向URL不匹配时向应用服务器发送鉴权失败响应。
优选的,第一接收模块接收到的鉴权请求中还包括:请求访问的资源范围;
第二组织模块,具体用于当第二判断模块判定应用服务器合法且授权码有效时生成访问凭据,将访问凭据和请求访问的资源范围对应存储;并根据第一接收模块接收到的获取身份认证凭据请求中的应用标识、认证服务器标识和获取用户信息模块获取到的用户信息组织身份认证凭据;
第二发送模块,还用于将所述访问凭据发送给应用服务器。
应用服务器还包括:访问资源模块,用于使用访问凭据从认证服务器中获取请求访问的资源范围内的资源。
优选的,所述认证服务器还包括:
第四判断模块,用于根据第一接收模块接收到的鉴权请求中的请求访问的资源范围跳转到用户授权页面,判断从用户授权页面中是否可以获取到对请求访问的资源范围的允许授权信息;
授权码生成模块,用于当第四判断模块判定接收到对请求访问的资源范围的允许授权信息时生成授权码;
第二发送模块,还用于第四判断模块判定没有接收到对请求访问的资源范围的允许授权信息时向应用服务器发送鉴权失败响应。
优选的,第一组织模块具体包括:
加密子模块,用于将预先在认证服务器注册的应用标识和应用密码进行加密生成应用密文信息;
第一组织子模块,用于根据加密子模块生成的应用密文信息、第一接收模块接收到的授权码和重定向URL生成获取身份认证凭据请求;
第一发送模块,用于将第一组织子模块生成的获取身份认证凭据请求发送给认证服务器;
第二判断模块具体包括:
解密子模块,用于从第二接收模块中的获取身份认证凭据请求中获取应用密文信息,对应用密文信息进行解密生成应用标识和应用密码;
第四判断子模块,用于根据解密子模块解密得到的应用标识和应用密码判断所述应用服务器是否合法;
第五判断子模块,用于从第一接收模块接收到的的获取身份认证凭据请求中获取授权码,判断授权码是否有效;
第二组织模块,用于当第五判断子模块判定授权码有效且所述第四判断子模块判定应用服务器合法时根据应用标识、认证服务器标识和用户信息组织身份认证凭据,并使用私钥对身份认证凭据进行签名得到签名结果。
可选的,第二组织模块,具体用于获取当前服务器时间作为身份认证凭据发送时间,根据应用标识、认证服务器标识、用户信息和身份认证凭据发送时间组织身份认证凭据;
相应的,所述绑定模块包括:
验签子模块,用于使用公钥对第二接收模块接收到的签名结果验签;
第七判断子模块,用于若验签子模块验签通过时判断第二接收模块接收到的身份认证凭据中的身份认证凭据发送时间是否早于第一预设时间;
绑定子模块,用于当第七判断子模块身份认证凭据发送时间不早于第一预设时间时,将身份认证凭据与用户进行绑定;
第一发送模块,还用于第七判断子模块所述身份认证凭据发送时间早于第一预设时间时向所述认证服务器发送身份认证凭据无效信息。
可选的,第一判断模块,还用于获取服务器当前时间作为鉴别终端用户时间;
第二组织模块,具体用于根据应用标识、认证服务器标识、用户信息和第一判断模块得到的所述鉴别终端用户时间组织身份认证凭据
相应的,所述绑定模块包括:
验签子模块,用于使用公钥对第二接收模块接收到的签名结果验签;
第八判断子模块,用于若验签子模块验签通过时判断第二接收模块接收到的身份认证凭据中的鉴别终端用户时间是否早于第二预设时间;
绑定子模块,用于当第八判断子模块判定所述鉴别终端用户时间不早于第二预设时间时将身份认证凭据与用户进行绑定;
第一发送模块,还用于当第八判断子模块判定鉴别终端用户时间早于第二预设时间时向认证服务器发送身份认证凭据无效信息。
可选的,第二组织模块,具体用于根据应用标识、认证服务器标识、用户信息和身份认证凭据有效期组织身份认证凭据;
相应的,绑定模块包括:
验签子模块,用于使用公钥对第二接收模块接收到的签名结果验签;
第九判断子模块,用于判断当前服务器时间是否早于身份认证凭据的有效期;
绑定子模块,用于当第九判断子模块判定当前服务器时间早于身份认证凭据的有效期时将身份认证凭据与用户进行绑定;
第一发送模块,还用于当第九判断子模块判定当前服务器时间不早于身份认证凭据的有效期时向认证服务器发送身份认证凭据无效信息。
实施例4
本实施例提供一种颁发身份认证凭据的认证服务器,参见图5,包括:
第一接收模块,用于接收应用服务器发送的鉴权请求;还用于接收应用服务器发送的获取身份认证凭据请求;
获取用户信息模块,当用户从用户认证页面输入用户信息时,用于从用户认证页面获取用户信息;
第一判断模块,用于第一接收模块接收到鉴权请求之后,判断获取用户信息模块获取到的用户信息是否合法;
授权码生成模块,用于当第一判断模块判定用户信息合法后生成授权码;
第二发送模块,用于将授权码生成模块生成的授权码发送给应用服务器;还用于将签名模块签名得到的签名结果和第二组织模块组织的身份认证凭据发送给应用服务器;
具体的,第一接收模块接收到的所述鉴权请求中还包括重定向URL;
第二发送模块,具体用于将授权码生成模块生成的授权码根据重定向URL发送给应用服务器。
第二判断模块,用于根据第一接收模块接收到的获取身份认证凭据请求中的应用标识和应用密码判断应用服务器是否合法,并判断所述第一接收模块接收到的获取身份认证凭据请求中的授权码是否有效;
第二组织模块,用于当第二判断模块判定应用服务器合法且授权码有效时根据第一接收模块接收到的获取身份认证凭据请求中的应用标识、认证服务器标识和获取用户信息模块中获取到的用户信息组织身份认证凭据;
签名模块,用于使用私钥对第二组织模块组织得到的身份认证凭据进行签名得到签名结果。
优选的,认证服务器还包括:第三判断模块,用于判断所述第一接收模块接收到的鉴权请求中的所有必要参数是否都存在且有效;
第一判断模块,用于当第三判断模块判定鉴权请求中的所有必要参数存在且有效时,第一接收模块接收到鉴权请求之后,判断获取用户信息模块获取到的用户信息是否合法。
第二发送模块,还用于第三判断模块判定鉴权请求中所有必要参数不都存在或者不都有效时向应用服务器发送鉴权失败响应。
更为详细的是,第三判断模块具体包括:
第一判断子模块,用于判断第一接收模块接收到的鉴权请求中是否包含应用标识和重定向URL;
第二判断子模块,用于第一判断子模块判定鉴权请求中包含应用标识和重定向URL时从鉴权请求中获取应用标识,根据应用标识判断应用服务器是否已经注册过;
第三判断子模块,用于当第二判断子模块判定应用服务器已经注册过时根据应用标识获取预存的重定向URL,根据应用标识获取应用服务器预先注册的重定向URL,并判断鉴权请求中的重定向URL与预存的重定向URL是否匹配;
第一判断模块,具体用于第三判断子模块判定所述鉴权请求中的重定向URL与所述预存的重定向URL匹配时,判断获取用户信息模块获取到的用户信息是否合法;
第二发送模块,还用于第三判断子模块模块判定鉴权请求中的重定向URL与预存的重定向URL不匹配时向应用服务器发送鉴权失败响应。
优选的,第一接收模块接收到的鉴权请求中还包括:请求访问的资源范围;
第二组织模块,具体用于当第二判断模块判定应用服务器合法且授权码有效时生成访问凭据,将访问凭据和请求访问的资源范围对应存储;并根据第一接收模块接收到的获取身份认证凭据请求中的应用标识、认证服务器标识和第一判断模块中获取到的用户信息组织身份认证凭据;
第二发送模块,还用于将所述访问凭据发送给应用服务器。
优选的,所述认证服务器还包括:
第四判断模块,用于根据第一接收模块接收到的鉴权请求中的请求访问的资源范围跳转到用户授权页面,判断从用户授权页面中是否可以获取到对请求访问的资源范围的允许授权信息;
授权码生成模块,用于当第四判断模块判定接收到对请求访问的资源范围的允许授权信息时生成授权码;
第二发送模块,还用于第四判断模块判定没有接收到对请求访问的资源范围的允许授权信息时向应用服务器发送鉴权失败响应。
优选的,第二判断模块具体包括:
解密子模块,用于从第一接收模块中的获取身份认证凭据请求中获取应用密文信息,对应用密文信息进行解密生成应用标识和应用密码;
第四判断子模块,用于根据解密子模块解密得到的应用标识和应用密码判断所述应用服务器是否合法;
第五判断子模块,用于从第一接收模块接收到的的获取身份认证凭据请求中获取授权码,判断授权码是否有效;
第二组织模块,用于当第五判断子模块判定授权码有效且所述第四判断子模块判定应用服务器合法时根据应用标识、认证服务器标识和用户信息组织身份认证凭据,并使用私钥对身份认证凭据进行签名得到签名结果。
可选的,第二组织模块,具体用于获取当前服务器时间作为身份认证凭据发送时间,根据应用标识、认证服务器标识、用户信息和身份认证凭据发送时间组织身份认证凭据;
可选的,第一判断模块,还用于获取服务器当前时间作为鉴别终端用户时间;
第二组织模块,具体用于根据应用标识、认证服务器标识、用户信息和第一判断模块得到的所述鉴别终端用户时间组织身份认证凭据;
可选的,第二组织模块,具体用于根据应用标识、认证服务器标识、用户信息和身份认证凭据有效期组织身份认证凭据。
以上所述的实施例只是本发明较优选的具体实施方式,本领域的技术人员在本发明技术方案范围内进行的通常变化和替换都应包含在本发明的保护范围内。
Claims (46)
1.一种颁发身份认证凭据的方法,其特征在于,包括:
步骤S1、当接收到用户触发的访问请求后,应用服务器跳转到用户认证页面,并向认证服务器发送鉴权请求;
步骤S2、当用户从所述用户认证页面输入用户信息时,所述认证服务器从所述用户认证页面获取用户信息,并判断所述用户信息是否合法,是则生成授权码,并将所述授权码返回给所述应用服务器,执行步骤S3,否则结束;
步骤S3、所述应用服务器根据所述授权码以及在所述认证服务器预先注册的应用标识和应用密码组织获取身份认证凭据请求,并将所述获取身份认证凭据请求发送给所述认证服务器;
步骤S4、所述认证服务器根据所述获取身份认证凭据请求中的所述应用标识和所述应用密码判断所述应用服务器是否合法,并判断获取身份认证凭据请求中的所述授权码是否有效,当判断均为是时执行步骤S5,否则结束;
步骤S5、所述认证服务器根据所述应用标识,认证服务器标识和所述用户信息组织身份认证凭据,并使用私钥对所述身份认证凭据进行签名,将签名结果和所述身份认证凭据发送给所述应用服务器;
步骤S6、所述应用服务器使用公钥对所述签名结果验签,若验签通过,将所述身份认证凭据与用户进行绑定。
2.如权利要求1所述的方法,其特征在于,所述将所述身份认证凭据与用户进行绑定具体为:所述应用服务器从身份凭据中获取用户信息,并将所述用户信息与所述身份认证凭据对应存储。
3.如权利要求1所述的方法,其特征在于,所述将所述身份认证凭据与用户进行绑定具体为:所述应用服务器分配字符串作为用户标识,将所述用户标识与所述身份认证凭据进行对应存储。
4.如权利要求1所述的方法,其特征在于,所述步骤S1和所述步骤S2之间还包括:所述认证服务器判断所述鉴权请求中的所有必要参数是否都存在且有效,是则执行步骤S2,否则向所述应用服务器返回鉴权失败响应,结束。
5.如权利要求4所述的方法,其特征在于,所述判断所述鉴权请求中的所有必要参数是否都存在且有效具体包括:
步骤A1、所述认证服务器判断所述鉴权请求中是否包含应用标识和重定向URL,是则执行步骤A2,否则向所述应用服务器返回鉴权失败响应,结束;
步骤A2、所述认证服务器从所述鉴权请求中获取应用标识,根据所述应用标识判断所述应用服务器是否已经注册过,是则执行步骤A3,否则向所述应用服务器返回鉴权失败响应,结束;
步骤A3、所述认证服务器根据所述应用标识获取所述应用服务器预先注册的重定向URL,并判断所述鉴权请求中的重定向URL与获取的所述预先注册的重定向URL是否匹配,是则执行步骤S2,否则向所述应用服务器返回鉴权失败响应,结束。
6.如权利要求1所述的方法,其特征在于,所述鉴权请求中还包括:请求访问的资源范围;
所述步骤S5具体包括:所述认证服务器生成访问凭据,将所述访问凭据和所述请求访问的资源范围对应存储;并根据所述应用标识、认证服务器标识和所述用户信息组织身份认证凭据,并使用私钥对所述身份认证凭据进行签名,并将签名结果、所述身份认证凭据和所述访问凭据发送给所述应用服务器;
所述步骤S6之后还包括:应用服务器使用所述访问凭据从所述认证服务器中获取所述请求访问的资源范围内的资源。
7.如权利要求6所述的方法,其特征在于,所述步骤S2中判定所述用户信息合法后,生成授权码之前还包括:所述认证服务器根据请求访问的资源范围跳转到用户授权页面,判断从所述用户授权页面中是否可以获取到对所述请求访问的资源范围的允许授权信息,是则生成授权码,否则向所述应用服务器返回鉴权失败响应。
8.如权利要求1所述的方法,其特征在于,所述鉴权请求中包括:重定向URL;
所述将所述授权码返回给所述应用服务器具体为:将所述授权码根据所述重定向URL返回给所述应用服务器。
9.如权利要求1所述的方法,其特征在于,所述步骤S3具体包括:
步骤B1、所述应用服务器将预先在所述认证服务器注册的应用标识和应用密码进行加密生成应用密文信息;
步骤B2、所述应用服务器根据所述应用密文信息和所述授权码组织获取身份认证凭据请求,并将所述获取身份认证凭据请求发送给所述认证服务器;
所述步骤S4具体包括:所述认证服务器从所述获取身份认证凭据请求中获取所述应用密文信息,对所述应用密文信息进行解密得到所述应用标识和所述应用密码,根据所述应用标识和所述应用密码判断应用服务器是否合法,并判断获取身份认证凭据请求中的授权码是否有效,当判断均为是时执行步骤S5,否则结束。
10.如权利要求1所述的方法,其特征在于,所述步骤S6中所述应用服务器使用公钥对签名结果进行验签,若验签通过之后,所述将所述身份认证凭据与用户进行绑定之前还包括:所述应用服务器判断所述身份认证凭据中的应用标识是否合法,是则继续执行所述将所述身份认证凭据与用户进行绑定,否则向所述认证服务器返回身份认证凭据无效信息,结束。
11.如权利要求1所述的方法,其特征在于,
所述步骤S5具体包括:所述认证服务器获取当前服务器时间作为身份认证凭据发送时间,根据所述应用标识、认证服务器标识、所述用户信息和所述身份认证凭据发送时间组织身份认证凭据,并使用私钥对身份认证凭据进行签名,将签名结果和所述身份认证凭据发送给所述应用服务器;
所述步骤S6中所述应用服务器使用公钥对签名结果进行验签,若验签通过之后,所述将所述身份认证凭据与用户进行绑定之前还包括:所述应用服务器判断所述身份认证凭据中的所述身份认证凭据发送时间是否早于第一预设时间,是则向所述认证服务器发送身份认证凭据无效信息,结束;否则继续执行所述将所述身份认证凭据与用户进行绑定。
12.如权利要求1所述的方法,其特征在于,
所述步骤S2判定用户合法时候还包括:获取服务器当前时间作为鉴别终端用户时间;
所述步骤S5具体包括:所述认证服务器根据所述应用标识、认证服务器标识、所述用户信息和所述鉴别终端用户时间组织身份认证凭据,并使用私钥对所述身份认证凭据进行签名,将签名结果和身份认证凭据发送给所述应用服务器;
所述步骤S6中所述应用服务器使用公钥对签名结果进行验签,若验签通过之后,将所述身份认证凭据与用户进行绑定之前还包括:所述应用服务器判断身份认证凭据中的所述鉴别终端用户时间是否早于第二预设时间,是则向所述认证服务器发送身份认证凭据无效信息;否则继续执行所述将所述身份认证凭据与用户进行绑定。
13.如权利要求1所述的方法,其特征在于,
所述步骤S5中具体包括:所述认证服务器根据所述应用标识、认证服务器标识、所述用户信息和身份认证凭据有效期组织身份认证凭据,并使用私钥对所述身份认证凭据进行签名,将签名结果和身份认证凭据发送给所述应用服务器;
所述步骤S6中所述应用服务器使用公钥对签名结果进行验签,若验签通过之后,将所述身份认证凭据与用户进行绑定之前还包括:所述应用服务器判断当前服务器时间是否早于所述身份认证凭据的有效期,是则继续执行所述将所述身份认证凭据与用户进行绑定,否则向所述认证服务器返回身份认证凭据无效信息。
14.一种颁发身份认证凭据的***,其特征在于,包括:认证服务器和应用服务器;
所述应用服务器具体包括:
第一发送模块,用于接收到用户触发的访问请求,跳转到用户认证页面,并向认证服务器发送鉴权请求;还用于将第一组织模块组织的所获取身份认证凭据请求发送给所述认证服务器;
第二接收模块,用于接收所述认证服务器发送的授权码;还用于接收所述认证服务器发送的签名结果和身份认证凭据;
所述第一组织模块,用于根据所述第二接收模块接收到的所述授权码以及在所述认证服务器预先注册的应用标识和应用密码组织获取身份认证凭据请求;
绑定模块,用于使用公钥对所述第二接收模块接收到的所述签名结果验签,若验签通过,将所述第二接收模块接收到的所述身份认证凭据与用户进行绑定;
所述认证服务器具体包括:
第一接收模块,用于接收所述应用服务器发送的所述鉴权请求;还用于接收所述应用服务器发送的所述获取身份认证凭据请求;
获取用户信息模块,当用户从用户认证页面输入用户信息时,用于从所述用户认证页面获取用户信息;
第一判断模块,用于当所述第一接收模块接收到所述鉴权请求时,判断所述获取用户信息模块获取到的所述用户信息是否合法;
授权码生成模块,用于当所述第一判断模块判定所述用户信息合法后生成授权码;
第二发送模块,用于将所述授权码生成模块生成的所述授权码发送给所述应用服务器;还用于将第二组织模块组织得到的所述身份认证凭据和签名模块签名得到的所述签名结果发送给所述应用服务器;
第二判断模块,用于根据所述第一接收模块接收到的所述获取身份认证凭据请求中的所述应用标识和所述应用密码判断所述应用服务器是否合法,并判断所述第一接收模块接收到的所述获取身份认证凭据请求中的所述授权码是否有效;
所述第二组织模块,用于当所述第二判断模块判定所述应用服务器合法且所述授权码有效时根据所述第一接收模块接收到的获取身份认证凭据请求中的应用标识、认证服务器标识和所述获取用户信息模块获取到的用户信息组织身份认证凭据;
所述签名模块,用于使用私钥对所述第二组织模块组织得到的所述身份认证凭据进行签名得到签名结果。
15.如权利要求14所述的***,其特征在于,所述绑定模块,具体用于使用公钥对所述第二接收模块接收到的所述签名结果验签,若验签通过,从身份凭据中获取用户信息,并将所述用户信息与所述身份认证凭据对应存储。
16.如权利要求14所述的***,其特征在于,所述绑定模块,具体用于使用公钥对所述第二接收模块接收到的所述签名结果验签,若验签通过,分配字符串作为用户标识,将所述用户标识与所述身份认证凭据进行对应存储。
17.如权利要求14所述的***,其特征在于,所述认证服务器还包括:
第三判断模块,用于判断所述第一接收模块接收到的所述鉴权请求中的所有必要参数是否都存在且有效;
所述第一判断模块,用于当所述第三判断模块判定所述鉴权请求中的所有必要参数存在且有效时,判断所述获取用户信息模块获取到的所述用户信息是否合法;
所述第二发送模块,还用于所述第三判断模块判定所述鉴权请求中所有必要参数不都存在或者不都有效时向所述应用服务器发送鉴权失败响应。
18.如权利要求17所述的***,其特征在于,所述第三判断模块具体包括:
第一判断子模块,用于判断所述第一接收模块接收到的所述鉴权请求中是否包含应用标识和重定向URL;
第二判断子模块,用于所述第一判断子模块判定所述鉴权请求中包含应用标识和重定向URL时从所述鉴权请求中获取应用标识,根据所述应用标识判断所述应用服务器是否已经注册过;
第三判断子模块,用于当所述第二判断子模块判定所述应用服务器已经注册过时根据所述应用标识获取所述应用服务器预先注册的重定向URL,并判断所述鉴权请求中的重定向URL与获取的所述预先注册的重定向URL是否匹配;
所述第一判断模块,具体用于所述第三判断子模块判定所述鉴权请求中的重定向URL与获取的所述预先注册的重定向URL匹配时,判断所述获取用户信息模块获取到的所述用户信息是否合法;
所述第二发送模块,还用于所述第三判断子模块判定所述鉴权请求中的重定向URL与获取的所述预先注册的重定向URL不匹配时向所述应用服务器发送鉴权失败响应。
19.如权利要求14所述的***,其特征在于,所述第一接收模块接收到的所述鉴权请求中还包括:请求访问的资源范围;
第二组织模块,具体用于当所述第二判断模块判定所述应用服务器合法且所述授权码有效时生成访问凭据,将所述访问凭据和所述请求访问的资源范围对应存储;并根据所述第一接收模块接收到的获取身份认证凭据请求中的应用标识、认证服务器标识和所述获取用户信息模块获取到的所述用户信息组织身份认证凭据;
所述第二发送模块,还用于将所述第二组织模块生成的所述访问凭据发送给应用服务器;
所述应用服务器还包括:访问资源模块,用于接收访问凭据,并使用所述访问凭据从所述认证服务器中获取所述请求访问的资源范围内的资源。
20.如权利要求14所述的***,其特征在于,所述认证服务器还包括:
第四判断模块,用于根据所述第一接收模块接收到的所述鉴权请求中的请求访问的资源范围跳转到用户授权页面,判断从所述用户授权页面中是否可以获取到对所述请求访问的资源范围的允许授权信息;
所述授权码生成模块,用于当所述第四判断模块判定接收到对所述请求访问的资源范围的允许授权信息时生成授权码;
所述第二发送模块,还用于所述第四判断模块判定没有接收到对所述请求访问的资源范围的允许授权信息时向所述应用服务器发送鉴权失败响应。
21.如权利要求14所述的***,其特征在于,所述第一接收模块接收到的所述鉴权请求中还包括重定向URL;
所述第二发送模块,具体用于将所述授权码生成模块生成的所述授权码根据所述重定向URL发送给所述应用服务器。
22.如权利要求14所述的***,其特征在于,
所述第一组织模块具体包括:
加密子模块,用于将预先在所述认证服务器注册的应用标识和应用密码进行加密生成应用密文信息;
第一组织子模块,用于根据所述加密子模块生成的所述应用密文信息、所述第一接收模块接收到的所述授权码和重定向URL生成获取身份认证凭据请求;
所述第一发送模块,用于将所述第一组织子模块生成的所述获取身份认证凭据请求发送给所述认证服务器;
所述第二判断模块具体包括:
解密子模块,用于从所述第一接收模块中的获取身份认证凭据请求中获取应用密文信息,对应用密文信息进行解密生成应用标识和应用密码;
第四判断子模块,用于根据所述解密子模块解密得到的所述应用标识和所述应用密码判断所述应用服务器是否合法;
第五判断子模块,用于从所述第二接收模块接收到的的获取身份认证凭据请求中获取授权码,判断授权码是否有效;
所述第二组织模块,用于当所述第五判断子模块判定授权码有效且所述第四判断子模块判定所述应用服务器合法时根据所述应用标识、认证服务器标识和用户信息组织身份认证凭据,并使用私钥对所述身份认证凭据进行签名得到签名结果。
23.如权利要求14所述的***,其特征在于,所述绑定模块包括:
验签子模块,用于使用公钥对所述第二接收模块接收到的所述签名结果验签;
第六判断子模块,用于若所述验签子模块验签通过时,判断所述第二接收模块接收到的身份认证凭据中的应用标识是否合法;
绑定子模块,用于当所述第六判断子模块判定所述应用标识合法时,将所述身份认证凭据与用户进行绑定;
所述第一发送模块,还用于当所述第六判断子模块判定所述应用标识不合法时向所述认证服务器发送身份认证凭据无效信息。
24.如权利要求14所述的***,其特征在于,
所述第二组织模块,具体用于当所述第二判断模块判定所述应用服务器合法且所述授权码有效时,获取当前服务器时间作为身份认证凭据发送时间,根据所述应用标识、认证服务器标识、所述用户信息和所述身份认证凭据发送时间组织身份认证凭据;
所述绑定模块包括:
验签子模块,用于使用公钥对所述第二接收模块接收到的所述签名结果验签;
第七判断子模块,用于若所述验签子模块验签通过时判断所述第二接收模块接收到的所述身份认证凭据中的所述身份认证凭据发送时间是否早于第一预设时间;
绑定子模块,用于当所述第七判断子模块所述身份认证凭据发送时间不早于第一预设时间时,将所述身份认证凭据与用户进行绑定;
所述第一发送模块,还用于第七判断子模块所述身份认证凭据发送时间早于第一预设时间时向所述认证服务器发送身份认证凭据无效信息。
25.如权利要求14所述的***,其特征在于,
所述第一判断模块,还用于获取服务器当前时间作为鉴别终端用户时间;
所述第二组织模块,具体用于当所述第二判断模块判定所述应用服务器合法且所述授权码有效时,根据所述应用标识、认证服务器标识、所述用户信息和所述第一判断模块得到的所述鉴别终端用户时间组织身份认证凭据
所述绑定模块包括:
验签子模块,用于使用公钥对所述第二接收模块接收到的所述签名结果验签;
第八判断子模块,用于若所述验签子模块验签通过时判断所述第二接收模块接收到的所述身份认证凭据中的所述鉴别终端用户时间是否早于第二预设时间;
绑定子模块,用于当所述第八判断子模块判定所述鉴别终端用户时间不早于第二预设时间时将所述身份认证凭据与用户进行绑定;
所述第一发送模块,还用于当所述第八判断子模块判定所述鉴别终端用户时间早于第二预设时间时向所述认证服务器发送身份认证凭据无效信息。
26.如权利要求14所述的***,其特征在于,
所述第二组织模块,具体用于当所述第二判断模块判定所述应用服务器合法且所述授权码有效时,根据所述应用标识、认证服务器标识、所述用户信息和身份认证凭据有效期组织身份认证凭据;
所述绑定模块包括:
验签子模块,用于使用公钥对所述第二接收模块接收到的所述签名结果验签;
第九判断子模块,用于判断当前服务器时间是否早于所述身份认证凭据的有效期;
绑定子模块,用于当所述第九判断子模块判定当前服务器时间早于所述身份认证凭据的有效期时将所述身份认证凭据与用户进行绑定;
所述第一发送模块,还用于当所述第九判断子模块判定当前服务器时间不早于所述身份认证凭据的有效期时向所述认证服务器发送身份认证凭据无效信息。
27.一种颁发身份认证凭据的方法,其特征在于,包括:
步骤R1、认证服务器接收应用服务器发送的鉴权请求,当用户从用户认证页面输入用户信息时,从所述用户认证页面获取用户信息,并判断所述用户信息是否合法,是则生成授权码,并将所述授权码返回给所述应用服务器,执行步骤R2,否则结束;
步骤R2、当所述认证服务器接收到所述应用服务器发送的获取身份认证凭据请求时,根据所述获取身份认证凭据请求中的应用标识和应用密码判断所述应用服务器是否合法,并判断获取身份认证凭据请求中的所述授权码是否有效,当判断均为是时执行步骤R3,否则结束;
步骤R3、所述认证服务器根据所述应用标识,认证服务器标识和所述用户信息组织身份认证凭据,并使用私钥对所述身份认证凭据进行签名,将签名结果和所述身份认证凭据发送给所述应用服务器。
28.如权利要求27所述的方法,其特征在于,所述步骤R1中所述认证服务器接收应用服务器发送的鉴权请求之后,所述从所述用户认证页面获取用户信息之前还包括:所述认证服务器判断所述鉴权请求中的所有必要参数是否都存在且有效,是则继续执行所述从所述用户认证页面获取用户信息,否则向所述应用服务器返回鉴权失败响应,结束。
29.如权利要求28所述的方法,其特征在于,所述判断所述鉴权请求中的所有必要参数是否都存在且有效具体包括:
步骤C1、所述认证服务器判断所述鉴权请求中是否包含应用标识和重定向URL,是则执行步骤C2,否则向所述应用服务器返回鉴权失败响应,结束;
步骤C2、所述认证服务器从所述鉴权请求中获取应用标识,根据所述应用标识判断所述应用服务器是否已经注册过,是则执行步骤C3,否则向所述应用服务器返回鉴权失败响应,结束;
步骤C3、所述认证服务器根据所述应用标识获取所述应用服务器预先注册的重定向URL,并判断所述鉴权请求中的重定向URL与获取的所述预先注册的重定向URL是否匹配,是则执行步骤C2,否则向所述应用服务器返回鉴权失败响应,结束。
30.如权利要求27所述的方法,其特征在于,所述鉴权请求中还包括:请求访问的资源范围;
所述步骤R3具体包括:所述认证服务器生成访问凭据,将所述访问凭据和所述请求访问的资源范围对应存储;并根据所述应用标识、认证服务器标识和所述用户信息组织身份认证凭据,并使用私钥对所述身份认证凭据进行签名,并将签名结果和所述访问凭据发送给所述应用服务器。
31.如权利要求27所述的方法,其特征在于,所述步骤R1中判定所述用户信息合法后,生成授权码之前还包括:所述认证服务器根据请求访问的资源范围跳转到用户授权页面,判断从所述用户授权页面中是否可以获取到对所述请求访问的资源范围的允许授权信息,是则生成授权码,否则向所述应用服务器返回鉴权失败响应。
32.如权利要求27所述的方法,其特征在于,所述鉴权请求中包括:重定向URL;
所述将所述授权码返回给所述应用服务器具体为:将所述授权码根据所述重定向URL返回给所述应用服务器。
33.如权利要求27所述的方法,其特征在于,所述步骤R2具体包括:所述认证服务器从所述获取身份认证凭据请求中获取应用密文信息,对所述应用密文信息进行解密得到所述应用标识和所述应用密码,根据所述应用标识和所述应用密码判断应用服务器是否合法,并判断获取身份认证凭据请求中的授权码是否有效,当判断均为是时执行步骤R3,否则结束。
34.如权利要求27所述的方法,其特征在于,
所述步骤R3具体包括:所述认证服务器获取当前服务器时间作为身份认证凭据发送时间,根据所述应用标识、认证服务器标识、所述用户信息和所述身份认证凭据发送时间组织身份认证凭据,并使用私钥对身份认证凭据进行签名,将签名结果和所述身份认证凭据发送给所述应用服务器。
35.如权利要求27所述的方法,其特征在于,
所述步骤R1中判定用户合法时还包括:获取服务器当前时间作为鉴别终端用户时间;
所述步骤R3具体包括:所述认证服务器根据所述应用标识、认证服务器标识、所述用户信息和所述鉴别终端用户时间组织身份认证凭据,并使用私钥对所述身份认证凭据进行签名,将签名结果和所述身份认证凭据发送给所述应用服务器。
36.如权利要求27所述的方法,其特征在于,
所述步骤R3中具体包括:所述认证服务器根据所述应用标识、认证服务器标识、所述用户信息和身份认证凭据有效期组织身份认证凭据,并使用私钥对所述身份认证凭据进行签名,将签名结果和所述身份认证凭据发送给所述应用服务器。
37.一种颁发身份认证凭据的认证服务器,其特征在于,包括:
第一接收模块,用于接收应用服务器发送的鉴权请求;还用于接收所述应用服务器发送的获取身份认证凭据请求;
获取用户信息模块,用于当用户从用户认证页面输入用户信息时,从所述用户认证页面获取所述用户信息;
第一判断模块,用于当所述第一接收模块接收到所述鉴权请求时,判断所述获取用户信息模块获取到的所述用户信息是否合法;
授权码生成模块,用于当所述第一判断模块判定所述用户信息合法后生成授权码;
第二发送模块,用于将所述授权码生成模块生成的所述授权码发送给所述应用服务器;还用于将签名模块签名得到的签名结果和身份认证凭据发送给所述应用服务器;
第二判断模块,用于根据所述第一接收模块接收到的所述获取身份认证凭据请求中的应用标识和应用密码判断所述应用服务器是否合法,并判断所述第一接收模块接收到的所述获取身份认证凭据请求中的所述授权码是否有效;
第二组织模块,用于当所述第二判断模块判定所述应用服务器合法且所述授权码有效时根据所述第一接收模块接收到的获取身份认证凭据请求中的应用标识、认证服务器标识和所述获取用户信息模块获取到的所述用户信息组织身份认证凭据;
签名模块,用于使用私钥对所述第二组织模块组织得到的所述身份认证凭据进行签名得到签名结果。
38.如权利要求37所述的认证服务器,其特征在于,还包括:
第三判断模块,用于当所述第一接收模块接收到所述鉴权请求之后,判断所述第一接收模块接收到的所述鉴权请求中的所有必要参数是否都存在且有效;
所述第一判断模块,用于当所述第三判断模块判定所述鉴权请求中的所有必要参数存在且有效时,判断所述获取用户信息模块获取到的所述用户信息是否合法;
所述第二发送模块,还用于所述第三判断模块判定所述鉴权请求中所有必要参数不都存在或者不都有效时向所述应用服务器发送鉴权失败响应。
39.如权利要求38所述的认证服务器,其特征在于,所述第三判断模块具体包括:
第一判断子模块,用于判断所述第一接收模块接收到的所述鉴权请求中是否包含应用标识和重定向URL;
第二判断子模块,用于所述第一判断子模块判定所述鉴权请求中包含应用标识和重定向URL时从所述鉴权请求中获取应用标识,根据所述应用标识判断所述应用服务器是否已经注册过;
第三判断子模块,用于当所述第二判断子模块判定所述应用服务器已经注册过时根据所述应用标识获取所述应用服务器预先注册的重定向URL,并判断所述鉴权请求中的重定向URL与获取的所述预先注册的重定向URL是否匹配;
所述第一判断模块,具体用于所述第三判断子模块判定所述鉴权请求中的重定向URL与获取的所述预先注册的重定向URL匹配时,判断所述获取用户信息模块获取到的所述用户信息是否合法;
所述第二发送模块,还用于所述第三判断子模块判定所述鉴权请求中的重定向URL与获取的所述预先注册的重定向URL不匹配时向所述应用服务器发送鉴权失败响应。
40.如权利要求37所述的认证服务器,其特征在于,所述第一接收模块接收到的所述鉴权请求中还包括:请求访问的资源范围;
第二组织模块,具体用于当所述第二判断模块判定所述应用服务器合法且所述授权码有效时生成访问凭据,将所述访问凭据和所述请求访问的资源范围对应存储;并根据所述第一接收模块接收到的获取身份认证凭据请求中的应用标识、认证服务器标识和所述获取用户信息模块获取到的所述用户信息组织身份认证凭据;
所述第二发送模块,还用于将所述第二组织模块生成的所述访问凭据发送给应用服务器。
41.如权利要求37所述的认证服务器,其特征在于,还包括:
第四判断模块,用于根据所述第一接收模块接收到的所述鉴权请求中的请求访问的资源范围跳转到用户授权页面,判断从所述用户授权页面中是否可以获取到对所述请求访问的资源范围的允许授权信息;
所述授权码生成模块,用于当所述第四判断模块判定接收到对所述请求访问的资源范围的允许授权信息时生成授权码;
所述第二发送模块,还用于所述第四判断模块判定没有接收到对所述请求访问的资源范围的允许授权信息时向所述应用服务器发送鉴权失败响应。
42.如权利要求37所述的认证服务器,其特征在于,所述第一接收模块接收到的所述鉴权请求中还包括重定向URL;
所述第二发送模块,具体用于将所述授权码生成模块生成的所述授权码根据所述重定向URL发送给所述应用服务器。
43.如权利要求37所述的认证服务器,其特征在于,
所述第二判断模块具体包括:
解密子模块,用于从所述第一接收模块中的获取身份认证凭据请求中获取应用密文信息,对应用密文信息进行解密生成应用标识和应用密码;
第四判断子模块,用于根据所述解密子模块解密得到的所述应用标识和所述应用密码判断所述应用服务器是否合法;
第五判断子模块,用于从所述第一接收模块接收到的的获取身份认证凭据请求中获取授权码,判断授权码是否有效;
所述第二组织模块,用于当所述第五判断子模块判定授权码有效且所述第四判断子模块判定所述应用服务器合法时根据所述应用标识、认证服务器标识和用户信息组织身份认证凭据,并使用私钥对所述身份认证凭据进行签名得到签名结果。
44.如权利要求37所述的认证服务器,其特征在于,
所述第二组织模块,具体用于当所述第二判断模块判定所述应用服务器合法且所述授权码有效时获取当前服务器时间作为身份认证凭据发送时间,根据所述应用标识、认证服务器标识、所述用户信息和所述身份认证凭据发送时间组织身份认证凭据。
45.如权利要求37所述的认证服务器,其特征在于,
所述第一判断模块,还用于获取服务器当前时间作为鉴别终端用户时间;
所述第二组织模块,具体用于当所述第二判断模块判定所述应用服务器合法且所述授权码有效时根据所述应用标识、认证服务器标识、所述用户信息和所述第一判断模块得到的所述鉴别终端用户时间组织身份认证凭据。
46.如权利要求37所述的认证服务器,其特征在于,
所述第二组织模块,具体用于当所述第二判断模块判定所述应用服务器合法且所述授权码有效时根据所述应用标识、认证服务器标识、所述用户信息和身份认证凭据有效期组织身份认证凭据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710121273.5A CN106973041B (zh) | 2017-03-02 | 2017-03-02 | 一种颁发身份认证凭据的方法、***及认证服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710121273.5A CN106973041B (zh) | 2017-03-02 | 2017-03-02 | 一种颁发身份认证凭据的方法、***及认证服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106973041A CN106973041A (zh) | 2017-07-21 |
CN106973041B true CN106973041B (zh) | 2019-10-08 |
Family
ID=59328380
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710121273.5A Active CN106973041B (zh) | 2017-03-02 | 2017-03-02 | 一种颁发身份认证凭据的方法、***及认证服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106973041B (zh) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107241361A (zh) * | 2017-08-07 | 2017-10-10 | 中国石油工程建设有限公司 | 一种基于云环境的统一身份认证方法 |
CN107609364B (zh) * | 2017-10-30 | 2020-12-01 | 泰康保险集团股份有限公司 | 用户身份确认方法和装置 |
CN108347428B (zh) * | 2017-12-29 | 2020-11-20 | 北京世纪互联宽带数据中心有限公司 | 基于区块链的应用程序的注册***、方法和装置 |
CN108200089B (zh) * | 2018-02-07 | 2022-06-07 | 腾讯云计算(北京)有限责任公司 | 信息安全的实现方法、装置、***以及存储介质 |
CN108809953B (zh) * | 2018-05-22 | 2020-09-01 | 飞天诚信科技股份有限公司 | 一种基于区块链的匿名身份认证的方法及装置 |
CN108882223A (zh) * | 2018-05-30 | 2018-11-23 | 努比亚技术有限公司 | 应用数据上报方法、移动终端及计算机可读存储介质 |
CN110569638B (zh) * | 2018-06-06 | 2021-08-06 | 中移(苏州)软件技术有限公司 | 一种api认证的方法、装置、存储介质及计算设备 |
CN110062383A (zh) * | 2019-04-24 | 2019-07-26 | 中国联合网络通信集团有限公司 | 一种认证方法、终端、认证服务器、应用服务器 |
CN112291188B (zh) * | 2019-09-23 | 2023-02-10 | 中建材信息技术股份有限公司 | 注册验证方法及***、注册验证服务器、云服务器 |
CN110808998B (zh) * | 2019-11-12 | 2022-05-17 | 上海华羿汽车***集成有限公司 | 身份认证器的初始化、身份认证方法以及装置 |
CN111107060B (zh) * | 2019-11-29 | 2022-11-29 | 视联动力信息技术股份有限公司 | 一种登录请求处理方法、服务器、电子设备及存储介质 |
CN111585954A (zh) * | 2020-03-26 | 2020-08-25 | 中国平安财产保险股份有限公司 | 鉴权方法、装置、计算机设备及存储介质 |
CN111682941B (zh) * | 2020-05-18 | 2022-12-20 | 浙江连湖科技有限责任公司 | 基于密码学的集中式身份管理、分布式认证与授权的方法 |
CN111698248B (zh) * | 2020-06-11 | 2021-06-11 | 杭州商湾网络科技有限公司 | 一种基于标签的网络授权管理方法及*** |
CN111901346B (zh) * | 2020-07-29 | 2022-10-25 | 北京奇艺世纪科技有限公司 | 一种身份认证*** |
CN114006751B (zh) * | 2021-10-29 | 2024-06-11 | 广东宜教通教育有限公司 | 一种使用临时认证码的校园***单点登录方法 |
CN117544378A (zh) * | 2023-11-21 | 2024-02-09 | 广州方舟信息科技有限公司 | 一种授权管理方法、装置、设备及存储介质 |
CN117411724B (zh) * | 2023-12-13 | 2024-03-19 | 北京持安科技有限公司 | 一种零信任应用网关多应用跨域共享凭据的方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101060520A (zh) * | 2006-04-21 | 2007-10-24 | 盛趣信息技术(上海)有限公司 | 基于Token的SSO认证*** |
CN102111410A (zh) * | 2011-01-13 | 2011-06-29 | 中国科学院软件研究所 | 一种基于代理的单点登录方法及*** |
CN103609090A (zh) * | 2013-06-19 | 2014-02-26 | 华为技术有限公司 | 身份登录方法及设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8762283B2 (en) * | 2004-05-03 | 2014-06-24 | Visa International Service Association | Multiple party benefit from an online authentication service |
-
2017
- 2017-03-02 CN CN201710121273.5A patent/CN106973041B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101060520A (zh) * | 2006-04-21 | 2007-10-24 | 盛趣信息技术(上海)有限公司 | 基于Token的SSO认证*** |
CN102111410A (zh) * | 2011-01-13 | 2011-06-29 | 中国科学院软件研究所 | 一种基于代理的单点登录方法及*** |
CN103609090A (zh) * | 2013-06-19 | 2014-02-26 | 华为技术有限公司 | 身份登录方法及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN106973041A (zh) | 2017-07-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106973041B (zh) | 一种颁发身份认证凭据的方法、***及认证服务器 | |
CN106295394B (zh) | 资源授权方法及***和授权服务器及工作方法 | |
CN105024819B (zh) | 一种基于移动终端的多因子认证方法及*** | |
EP2258094B1 (en) | Devolved authentication | |
CA2531533C (en) | Session-based public key infrastructure | |
CA2463286C (en) | Multi-factor authentication system | |
US9331991B2 (en) | Authenticating a client using linked authentication credentials | |
JP5619019B2 (ja) | 認証のための方法、システム、およびコンピュータ・プログラム(1次認証済み通信チャネルによる2次通信チャネルのトークンベースのクライアント・サーバ認証) | |
JP5027227B2 (ja) | 通信ネットワークにおける認証手順のための方法および装置 | |
Dey et al. | PseudoID: Enhancing privacy in federated login | |
CN106209749A (zh) | 单点登录方法及装置、相关设备和应用的处理方法及装置 | |
CA2661922A1 (en) | Method and system for providing authentication service for internet users | |
WO2007104243A1 (en) | The managing system of accounts security based on the instant message and its method | |
CN106230838A (zh) | 一种第三方应用访问资源的方法和装置 | |
KR20110003353A (ko) | 만료된 패스워드 처리 | |
JPH08297638A (ja) | 利用者認証方式 | |
CN107070918B (zh) | 一种网络应用登录方法和*** | |
CN105187417B (zh) | 权限获取方法和装置 | |
US11146536B2 (en) | Method and a system for managing user identities for use during communication between two web browsers | |
CN116233832A (zh) | 验证信息发送方法及装置 | |
Moon et al. | An AAA scheme using ID-based ticket with anonymity in future mobile communication | |
KR20190065007A (ko) | 포털사이트 중계 서비스 제공방법 및 그 시스템 | |
CN107864113A (zh) | 安全登录方法和*** | |
Scheper et al. | IRMA over Bluetooth | |
JP2024514039A (ja) | マルチノードパーティに対するユーザ認証方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
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 | ||
OL01 | Intention to license declared | ||
OL01 | Intention to license declared |