CN103139181B - 一种开放式认证的授权方法、装置和系统 - Google Patents

一种开放式认证的授权方法、装置和系统 Download PDF

Info

Publication number
CN103139181B
CN103139181B CN201110393481.3A CN201110393481A CN103139181B CN 103139181 B CN103139181 B CN 103139181B CN 201110393481 A CN201110393481 A CN 201110393481A CN 103139181 B CN103139181 B CN 103139181B
Authority
CN
China
Prior art keywords
authorized
authorization
server
idp
party
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.)
Expired - Fee Related
Application number
CN201110393481.3A
Other languages
English (en)
Other versions
CN103139181A (zh
Inventor
梁麟
汪芳山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201110393481.3A priority Critical patent/CN103139181B/zh
Publication of CN103139181A publication Critical patent/CN103139181A/zh
Application granted granted Critical
Publication of CN103139181B publication Critical patent/CN103139181B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Storage Device Security (AREA)

Abstract

本发明实施例提供一种开放式认证的授权方法、装置和系统。该开放式认证的授权方法包括步骤:授权服务器接收授权请求方发送的授权请求,所述授权请求包括:授权方ID、被授权方ID、以及授权内容的URI;授权服务器根据授权请求中的被授权方ID向被授权方ID所属的IDP服务器请求进行虚拟认证,接收被授权方ID所属的IDP服务器返回的虚拟认证结果;授权服务器生成返回地址列表,并生成授权信息,将授权信息发送给被授权方ID对应地址,授权服务器根据授权资源的URI将授权信息发送给资源服务器。通过本发明实施例,实现认证和授权相分离,实现跨域授权和跨域批量授权。

Description

一种开放式认证的授权方法、装置和系统
技术领域
本发明涉及互联网业务领域,尤其涉及一种开放式认证的授权方法、装置和系统。
背景技术
在当今的互联网业务中,用户的Identity(ID)成为互联网ID提供商们互相争夺的宝贵资源。掌握了用户ID,就掌握了向用户提供各种服务的条件。所以目前许多服务/资源提供商在保留自身的用户ID管理系统之外,还积极和ID提供商合作,有着扩大自身的用户群组,增强影响力,连锁广告效应等好处。ID提供商IdentityProvider(IDP)通过向多个合作方提供ID资源来实现对用户的统一ID的业务体验,极大的方便了用户。而对于商家来说,IDP业务能够为其带来额外的用户,用户能带来流量以及通过流量带来的信息流,这样就可以形成良性循环。ID提供商通过IDP认证中心/服务器平台为用户提供服务。然而IDP之间关联较少,更多的是竞争。为了协调这种竞争造成的资源浪费和对用户的不良影响,由政府推动的协调性信任框架组织成立。
从现阶段ID领域的发展来看,IDP首先都是有自身的业务作为其吸引和保留用户的基础。通过自身的业务能够对用户建立起一个档案。IDP为其他商家提供ID管理和ID相关的数据资源,作为交换其他商家返回用户相关的业务数据,从而能够被用来完善用户的档案。用户档案是IDP所具备的一个基本的因素之一。因为这个档案的内容包含的有用户的自身特有的内容,例如用户自身的隐私信息,用户生成内容,用户购买的内容等。如果用户需要将自己的数据,资源,或者内容开放给其他的用户或者应用去使用,就会涉及到授权问题。
目前授权只能在单一平台上实现,即单一平台上需要集成了IDP认证中心/服务器平台,授权服务器,资源服务器才能够实现用户授权。用户只能通过授权平台上的第三方应用服务器去访问资源服务器上自身的数据。互联网上典型的授权协议有OAuth1.0,以及正在开发的Oauth2.0,同时还有OpenID+OauthHybrid。其中Oauth1.0已经广泛的被IDP平台所运用提供和ID相关的授权服务。
随着ID领域的发展,技术的完善以及相关业务的普及,未来的ID领域不可能是一家IDP独大,而更有可能是不同领域的多家IDP互相竞争共存的形态。在这样的环境下,开放式ID管理,应用,和交换将成为主流。因此在这样的环境下的授权也将同样的成为开放式的松耦合架构。而这种架构,用户向任意不同域的其他应用或其他用户授权访问自己的数据将是互联网的主要发展的趋势之一。
图1为现有技术方法一中提供的一种授权方通过Auth服务器向被授权方授权的方法流程图。该授权方授权的方法流程包括如下步骤:
S101:客户首先要初始化流程,将资源所有者的用户代理定向到授权服务器上的授权端点。客户传入自己的身份标识、请求范围(作用域)、本地状态、以及一个重定向URI(在访问许可或被拒绝后授权服务器会重新将用户代理定向到这个URI)。
S102:授权服务器验证资源所有者(通过用户代理),并确认资源所有者是否允许或者拒绝客户的访问请求。
S103:假设资源所有者授予访问许可,授权服务器将用户代理用客户事先提供的URI重新定向到客户,并传回授权码。
S104:用户向授权服务器提出访问令牌请求。用户用其信任凭证和获得的授权码在授权服务器上进行认证鉴定。
S105:授权服务器对用户的信用凭证和授权码进行鉴定。如果有效,则返回一个访问令牌。
S106:客户向资源服务器发送访问令牌和其自身的签名请求受保护内容。
S107:资源服务器验证访问令牌和签名的有效性,若验证通过则返回受保护的内容。
由于该方法中需要验证客户身份的有效性,客户需要与Auth服务器进行重复的交互。当客户需要在多个资源服务器上申请授权服务时,这种重复式的交互就会变得低效,冗余,而且上述方法不支持开放式认证和授权。认证作为授权的一部分和授权一对一绑定,因此只能对同一域的资源进行授权。
图2为现有技术方法二中实现用户在多个域上授权数据的方法流程图,该方法通过建立一个第三方应用平台来集成用户数据以实现用户多个域授权,该方法包括以下步骤:
S201:用户(授权方)在客户平台上建立个人账户
S202:用户在平台上的个人账户中设置其在其他域中的账户的用户名和密码
S203:平台根据用户所提供的账户信息依次向对应域的IDP服务器进行身份认证,
S204:当用户的认证通过后向OAuth服务器请求用户数据的授权
S205:OAuth服务器通过授权的审核,发放给客户访问令牌,客户能够访问用户在多个域中的数据,并有权做出更改。
方法二中实现用户在多个域上授权实现依赖于用户需要在每个SNS网络中都有账户,而且不能够实现跨域授权,其跨域的信息共享是在这个第三方平台上通过多次执行多个针对不同单个域的授权流程来实现,并且不支持开放式登录功能。
发明内容
本发明实施例提供一种开放式认证的授权方法、装置和系统,通过将IDP服务器和授权服务器分离的开放式认证方式进行授权,实现认证和授权相分离,实现跨域授权和跨域批量授权。
本发明实施例提供一种开放式认证的授权方法,包括步骤:授权服务器接收授权请求方发送的授权请求,所述授权请求包括:授权方ID、被授权方ID、以及授权内容的URI;授权服务器根据授权请求中的被授权方ID向被授权方ID所属的IDP服务器请求进行虚拟认证,接收被授权方ID所属的IDP服务器返回的虚拟认证结果;授权服务器生成返回地址列表,并生成授权信息;授权服务器将授权信息发送到被授权方所属的IDP服务器的私有空间,使得被授权方根据被授权方ID和密码登录被授权方所属的IDP服务器,进入被授权方所属的IDP服务器的私有空间获取授权信息以及授授权内容的URI;授权服务器根据授权资源的URI将授权信息发送给资源服务器。
本发明另一实施例开放式认证的授权方法还包括步骤:被授权方根据授权信息向资源服务器获取授权内容。
本发明另一实施例开放式认证的授权方法还包括步骤:还包括步骤:授权服务器根据被授权方ID所属的IDP服务器返回的虚拟认证结果,生成待确认授权列表向授权方请求授权确认,并接收授权方返回的确认后的授权列表,根据确认后的授权列表生成返回地址列表。
本发明另一实施例开放式认证的授权方法还包括步骤:还包括步骤:授权服务器根据接收到的授权请求中的授权方ID向授权方ID所属的IDP服务器请求对授权方进行有效性认证,IDP服务器对授权方对授权内容的有效性进行身份认证,并向授权服务器返回认证结果。
本发明另一实施例开放式认证的授权方法还包括步骤:所述授权请求方为被授权方,则该方法还包括步骤:授权服务器根据解析的资源内容URI信息向资源内容所在的资源服务;器请求建立加密通道,以及授权内容的标题和摘要;资源服务器与授权服务器成功建立加密通道,并返回授权内容的标题和摘要。
本发明另一实施例开放式认证的授权方法还包括步骤:所述虚拟认证为根据授权方ID/被授权方ID和其对应IDP服务器之间的信任关系,IDP服务器对授权方ID/被授权方ID进行认证,对于不属于所述IDP服务器认证域的ID进行标注为未知并返回给授权服务器。
本发明另一实施例开放式认证的授权方法中,上述接收被授权方ID所属的IDP服务器返回的虚拟认证结果具体为:IDP服务器根据接收到授权服务器的请求将封装在请求中的客户ID中的<ID>值取出,并和本地存储的所有ID进行匹配,若有相同匹配,IDP服务器在该ID中的<未知>参数(<unknown>)赋值为“no”,否则赋值为“yes”,将认证结果返回给授权服务器。
本发明另一实施例开放式认证的授权方法中,所述被授权方ID包括:域参数(<Authority>)和未知参数(<unknown>),则在请求进行虚拟认证之前还包括步骤:授权服务器解析初始化的被授权方ID,倘若所述被授权方ID可以被解析,并且<Authority>的值可以被识别,<unknown>一项的值为空,否则会被赋值为“yes”。
本发明另一实施例开放式认证的授权方法还包括步骤:授权服务器将所有的<unknown>值为空的被授权方ID根据相同<Authority>值进行分类,将分好类的被授权方ID群组进行结构化处理后,通过https协议与<Authority>里描述的IDP服务器建立连接,发送请求至所述IDP服务器虚拟认证接口进行虚拟认证。
本发明实施例还提供一种开放式认证的授权装置,包括交互单元1101和处理器1102,其中:所述交互单元1101用于接收授权请求方发送的授权请求,所述授权请求包括:授权方ID、被授权方ID、以及授权内容的URI;所述交互单元1101还用于根据授权请求中的被授权方ID向被授权方ID所属的IDP服务器请求进行虚拟认证,并接收被授权方ID所属的IDP服务器返回的认证结果;所述处理器1102用于对授权方ID、被授权方ID以及授权内容的URI进行解析,根据虚拟认证结果生成返回地址列表,并生成授权信息;所述交互单元1101还用于将授权信息发送到被授权方所属的IDP服务器的私有空间,使得被授权方根据被授权方ID和密码登录被授权方所属的IDP服务器,进入被授权方所属的IDP服务器的私有空间获取授权信息以及授授权内容的URI,所述交互单元1101还用于根据授权资源的URI将授权信息发送给资源服务器。
本发明另一实施例开放式认证的授权装置中,所述处理器1102还用于根据接收到的授权请求中的授权方ID向授权方ID所属的IDP服务器请求对授权方进行有效性认证,接收IDP服务器返回对授权方对授权内容的有效性进行身份认证的认证结果,根据所述交互单元1101接收的被授权方ID所属的IDP服务器返回的虚拟认证结果,生成待确认授权列表向授权方请求授权确认,并根据授权方返回的确认结果生成返回地址列表。
本发明另一实施例开放式认证的授权装置中,所述被授权方ID包括:域参数(<Authority>)和未知参数(<unknown>),所述处理器1102还用于解析初始化的被授权方ID,倘若所述被授权方ID可以被解析,并且<Authority>的值可以被识别,<unknown>一项的值为空,否则会被赋值为“yes”。
本发明另一实施例开放式认证的授权装置中,所述处理器1102还用于将所有的<unknown>值为空的被授权方ID根据相同<Authority>值进行分类,将分好类的被授权方ID群组进行结构化处理后,通过https协议与<Authority>里描述的IDP服务器建立连接,发送请求至所述IDP服务器虚拟认证接口进行虚拟认证。
本发明实施例还提供一种开放式认证的授权系统,包括:授权服务器、IDP服务器、资源服务器,其中:所述授权服务器接收授权请求方发送的授权请求,所述授权请求包括:授权方ID、被授权方ID、以及授权内容的URI;所述授权服务器根据授权请求中的被授权方ID向被授权方ID所属的IDP服务器请求进行虚拟认证,接收被授权方ID所属的IDP服务器返回的认证结果;被授权方ID所属的IDP服务器对被授权方ID进行虚拟认证,向授权服务器返回虚拟认证结果;所述授权服务器还用于生成返回地址列表,并生成授权信息,将授权信息发送到被授权方所属的IDP服务器的私有空间,使得被授权方根据被授权方ID和密码登录被授权方所属的IDP服务器,进入被授权方所属的IDP服务器的私有空间获取授权信息以及授授权内容的URI,授权服务器根据授权资源的URI将授权信息发送给所述资源服务器。
本发明另一实施例开放式认证的授权系统中,所述被授权方ID包括:域参数(<Authority>)和未知参数(<unknown>),授权服务器还用于解析初始化的被授权方ID,倘若所述被授权方ID可以被解析,并且<Authority>的值可以被识别,<unknown>一项的值为空,否则会被赋值为“yes”。
本发明另一实施例开放式认证的授权系统中,授权服务器还用于将所有的<unknown>值为空的被授权方ID根据相同<Authority>值进行分类,将分好类的被授权方ID群组进行结构化处理后,通过https协议与<Authority>里描述的IDP服务器建立连接,发送请求至所述IDP服务器虚拟认证接口进行虚拟认证。
本发明另一实施例开放式认证的授权系统中,IDP服务器还用于根据接收到授权服务器的请求将封装在请求中的客户ID中的<ID>值取出,并和本地存储的所有ID进行匹配,若有相同匹配,IDP服务器在该ID中的<unknown>赋值为“no”,否则赋值为“yes”,将认证结果返回给授权服务器。
通过本发明实施例提供的技术方案可以实现开放式认证的跨域授权,实现向多个被授权方进行统一批量授权,有效的解决了向多个客户进行授权时效率低下,反应速度慢,流程冗余度高,而且维护成本也高的技术问题。通过本发明实施例提供的技术方案,使用户可以向任意不同域的其他应用或其他用户授权访问自己的数据。
附图说明
图1是现有技术提供的一种授权方通过Auth服务器向被授权方授权的方法流程图;
图2是现有技术实现用户在多个域上授权数据的方法流程图;
图3是本发明实施例提供的一种开放式认证的授权系统示意图;
图4是本发明实施例一实现开放式认证的授权方法流程示意图;
图5是本发明实施例另一实现开放式认证的授权方法流程示意图;
图6本发明实施例一授权方发起授权请求的实现开放式认证的授权方法流程示意图;
图7是本发明实施例另一授权方发起授权请求的实现开放式认证的授权方法流程示意图;
图8是本发明实施例一被授权方发起授权请求的实现开放式认证的授权方法流程示意图;
图9是本发明实施例另一被授权方发起授权请求的实现开放式认证的授权方法流程示意图;
图10是本发明实施例另一被授权方发起授权请求的实现开放式认证的授权方法流程示意图;
图11是本发明实施例实现开放式认证的授权装置结构示意图;
图12是本发明实施例中用户确认授权界面示意图。
具体实施方式
为了便于本领域一般技术人员理解和实现本发明,现结合附图描述本发明的实施例。
本发明提供一种开放式认证的授权系统,如图3所示的一种开放式认证的授权系统示意图,在该开放式认证的授权系统中,包括授权服务器、至少两个IDP服务器(IDP服务器1~n)、资源服务器,所述开放式认证的授权系统接收请求授权方发起的授权请求,对授权方ID、被授权方ID进行开放式认证,实现授权。
在本发明实施例的开放式认证的授权系统中可以包括多个独立的授权服务器。授权服务器和资源服务器连接以对相关资源进行授权,与IDP服务器连接支持开放式跨域授权。授权服务器和授权方/被授权方连接接收、处理授权请求并返回授权信息。
在本发明实施例中,开放式认证的授权系统可以包括多个IDP服务器,由于开放式IDP服务器是多个存在的,因此为了让授权服务器对不同域的ID进行授权,授权服务器和这些IDP服务器相连。资源服务器提供在网络上存储用户/客户或者应用相关的数据的网络空间。在具体实施例当中,资源服务器,IDP以及授权服务器可以互相绑定。
在本发明实施例中出现的用户指的授权方,客户指的是被授权方。用户和客户既可以是人,也可以是一项应用或者服务。若用户和客户是人,则授权服务器和其打交道的是他们使用的代理,例如移动终端,或者个人电脑等。授权方可以为客户端或者服务器,被授权方也可以为客户端或者服务器。
在本发明实施例中,如图3中所示,请求授权方可以为的个人终端(如手机)、普通终端(如计算机)、服务、应用等。本发明实施例中的请求授权方可以为授权方或者被授权方。在本发明实施例中,授权方可以是一个,也可以是多个,或者为授权方组。被授权方可以是一个,也可以是多个,或者为被授权客户组。
本发明实施例中开放式认证授权系统实现授权的过程如下:授权服务器接收授权请求方发送的授权请求。所述授权请求包括:授权方ID、被授权方ID、以及授权内容的URI。所述授权服务器根据授权请求中的被授权方ID向被授权方ID所属的IDP服务器请求进行虚拟认证,接收被授权方ID所属的IDP服务器返回的认证结果。被授权方ID所属的IDP服务器对被授权方ID进行虚拟认证,向授权服务器返回虚拟认证结果。所述授权服务器还用于生成返回地址列表,并生成授权信息,将授权信息发送到被授权方所属的IDP服务器的私有空间,使得被授权方根据被授权方ID和密码登录被授权方所属的IDP服务器,进入被授权方所属的IDP服务器的私有空间获取授权信息以及授授权内容的URI。授权服务器根据授权资源的URI将授权信息发送给所述资源服务器。
本发明实施例中的开放式认证的授权系统至少两个IDP服务器可以包括:IDP服务器1和IDP服务器2,其中IDP服务器1为授权方所属域的服务器,IDP服务器2为被授权方所属域的服务器。通过该开放式认证的授权系统,请求授权方向授权服务发起授权请求,授权请求中包括:授权方ID、被授权方ID、以及需要授权资源的URI。授权服务器根据接收到的授权请求中的授权方ID向IDP服务器1请求对授权方进行有效性认证,认证通过后,授权服务器根据授权请求中的被授权方ID向IDP服务器2请求进行虚拟认证。授权服务器根据授权资源的URI与相应的资源服务器建立加密通道。授权服务器根据IDP服务器2返回的认证结果向授权方请求授权确认,生成授权码和授权密匙,授权服务器分别将授权码和授权密匙发送给被授权方和资源服务器。被授权方根据授权码和授权密匙向资源服务器获取授权内容。
本发明实施例中的虚拟认证为根据授权方ID/被授权方ID和其对应IDP服务器之间的信任关系,IDP服务器对授权方ID/被授权方ID进行认证,对于不属于所述IDP服务器认证域的ID进行标注为未知并返回给授权服务器。
在本发明实施例的开放式认证的授权系统中,授权服务器可以根据IDP服务器2返回的认证结果直接向被授权方进行授权,当IDP服务器2返回的认证结果为标注所述被授权方ID为已知,授权服务器向被授权方用户进行授权,生成授权码和授权密匙,授权服务器分别将授权码和授权密匙发送给被授权方和资源服务器。当IDP服务器2返回的认证结果为标注所述被授权方ID为未知,授权服务器不向被授权用户进行授权,结束流程。
在本发明实施例的开放式认证的授权系统中,授权服务器根据IDP服务器2返回的认证结果向授权方请求授权确认具体可以为:如果IDP服务器2返回的认证结果为标注所述被授权方ID为已知,则授权服务器向授权方发送待授权确认列表,所述待授权确认列表中包括已标注为已知的被授权方ID。如果IDP服务器2返回的认证结果为标注所述被授权方ID为未知,则授权服务器授权方发送待授权确认列表,所述待授权确认列表中包括已标注为未知的被授权方ID。授权方根据接收的待授权确认列表向授权服务器返回授权确认。在本发明另一实施例中,如果是授权请求方为被授权方,授权服务器在向授权方发送待授权确认列表之前,通过与资源服务器建立的加密通道获取授权内容的标题title和摘要abstract,将授权内容的标题和摘要以及待授权确认列表发送给授权方进行授权确认。
在本发明实施例的开放式认证的授权系统中,授权服务器将授权码和授权密匙发送给被授权方具体可以为:授权服务器将授权码和授权密匙发送到被授权方所属的IDP服务器的私有空间。被授权方根据其ID和密码登录其所属的IDP服务器,进入其IDP服务器的私有空间获取授权码和授权密匙以及授授权内容的URI。
在本发明实施例的开放式认证的授权过程中,被授权方可以是多个。当被授权方为多个时,授权服务器根据被授权方ID请求各个被授权方ID对应的IDP服务器进行虚拟认证,并根据各个被授权方ID对应的IDP服务器返回的认证结果生成待确认授权列表,该待确认授权列表中包括标注为已知的被授权方ID和未知的被授权方ID。授权方对待确认授权列表进行授权确认。
通过本发明实施例,当授权方和被授权方归属不同的IDP服务器时,可以实现跨域授权,灵活的实现资源共享。
本发明实施例提供一种开放式认证的授权方法,如图4所示的开放式认证的授权方法流程图,该开放式认证的授权方法包括以下步骤:
S401:授权服务器接收授权请求方发送的授权请求。所述授权请求包括:授权方ID、被授权方ID、以及授权内容的URI。
S403:授权服务器根据授权请求中的被授权方ID向被授权方ID所属的IDP服务器请求进行虚拟认证,接收被授权方ID所属的IDP服务器返回的认证结果。
S405:授权服务器生成返回地址列表,并生成授权信息,授权服务器将授权信息发送到被授权方所属的IDP服务器的私有空间,使得被授权方根据被授权方ID和密码登录被授权方所属的IDP服务器,进入被授权方所属的IDP服务器的私有空间获取授权信息以及授授权内容的URI,授权服务器根据授权资源的URI将授权信息发送给资源服务器。
从而实现了IDP服务器首先基于信任关系对被授权方进行虚拟认证,然后通过将授权信息发送给被授权方所属的IDP服务器,当被授权方需要获取授权信息时,则被授权方需要提供ID和密码通过IDP服务器的认证。通过虚拟认证,将实际的身份认证流程交给每一个被授权方以及其对应的IDP服务器,减少了授权服务器的负荷。因而避免了授权服务器由于被授权方身份有效性验证问题而产生阻碍授权流程的情况,从而提高了开放式认证和授权的效率,并且可以方便快捷的实现授权。
在本发明实施例中,授权信息可以为授权码和授权密匙,或者为授权码以及根据被授权方ID和授权密匙生成的签名。
授权服务器将授权信息发送给被授权方具体可以为:。
本发明实施例通过授权服务器分别向被授权方和资源服务器发送授权信息,完成了开放式认证的授权过程。
本发明实施例提供的授权方法还可以包括步骤S407:被授权方根据授权信息向资源服务器获取授权内容。
在本发明上述方法实施例中,所述开放式认证的授权方法还可以包括步骤S402:授权服务器根据接收到的授权请求中的授权方ID向授权方ID所属的IDP服务器请求对授权方进行有效性认证,IDP服务器对授权方对授权内容的有效性进行身份认证,并向授权服务器返回认证结果。
步骤S402可以在步骤S403之前执行,当授权请求方为授权方,即授权请求为授权方发起,则可以在虚拟认证之前进行授权方的身份认证。当授权请求方为被授权方,即授权请求为被授权方发起,也可以在虚拟认证之前请求进行授权方对授权资源的有效性认证。
在本发明上述方法实施例中,还可以包括步骤S404:授权服务器根据被授权方ID所属的IDP服务器返回的虚拟认证结果,生成待确认授权列表向授权方请求授权确认。
在本发明另一方法实施例中,步骤S402也可以和步骤S404合并执行,当授权请求方为被授权方,即授权请求为被授权方发起,则可以在授权服务器生成返回地址列表之前,IDP服务器完成对被授权ID的虚拟认证之后,授权服务器根据虚拟认证的结果向授权方请求进行待确认授权列表的确认的同时请求进行授权方对授权资源的有效性认证。这样可以简化认证流程,更加方便快捷的实现开放式认证的授权。
本发明提供一种开放式认证的授权方法,如图5所示的流程图,该开放式认证的授权方法包括以下步骤:
S501:授权服务器接收授权请求方发送的授权请求,所述授权请求包括:授权方ID、被授权方ID、以及授权内容的URI。
S502:授权服务器根据接收到的授权请求中的授权方ID向授权方ID所属的IDP服务器请求对授权方进行有效性身份认证。
S503:认证通过后,授权服务器根据授权请求中的被授权方ID向被授权方ID所属的IDP服务器请求进行虚拟认证,接收被授权方ID所属的IDP服务器返回的认证结果。
S504:当被授权方ID所属的IDP服务器返回的认证结果标识被授权方ID为已知,授权服务器生成授权码和授权密匙。
S505:授权服务器将授权码和授权密匙发送给被授权方对应的地址,授权服务器根据授权资源的URI将授权码和授权密匙发送给资源服务器。
S506:被授权方根据授权码和授权密匙向资源服务器获取授权内容。
在该实施例中,步骤S504中,授权服务器生成授权码和授权密匙之前还包括步骤S5031:授权服务器将被授权方ID所属的IDP服务器返回的认证结果向授权方请求授权确认,授权服务器根据认证结果生成待确认授权列表,待确认授权列表包括标识为已知的被授权方ID以及未知的被授权方ID。授权方对待确认授权列表进行授权确认。
本发明实施例还提供的一种开放式认证的授权方法,如图6所示的流程图为授权方主动发起的授权请求的开放式认证的授权方法实施例。如图6所示,提供开放式认证的授权方法的系统包括授权服务器,至少两个IDP服务器以及资源服务器。在该实施例中,授权方可以为A用户,客户终端1~n为被授权方或者被授权方用户的客户端,例如可以分别为被授权方B,C,D,E。
在本发明的实施例中,授权方可以是一个,也可以是多个,或者为授权方组。被授权方可以是一个,也可以是多个,或者为被授权客户组。
图6所示的由授权方发起的授权请求的方法包括以下步骤:
S601:授权方向授权服务器发送授权请求,请求消息中包括授权方的ID,被授权方的ID,以及授权内容的URI。
S602:授权服务器在接收到授权请求后,解析授权方的ID。
S603-S064:授权服务器并根据解析的授权方ID请求授权方跳转到授权方ID对应的IDP服务器进行身份认证。
例如图6所示的IDP服务器1~n,当解析授权方ID得到对应的IDP服务器为IDP服务器1时,则将授权方ID发送给IDP服务器1进行身份认证,如果解析授权方ID得到对应的IDP服务器为IDP服务器n时,则将授权方ID发送给IDP服务器n进行身份认证。本发明其他实施例以及其他图示中,IDP服务器对授权方ID的身份认证同上述认证方式。
S605-S606:授权方对应的IDP服务器对授权方对授权资源有效性核实的身份认证后,向授权服务器返回认证结果。
在本发明实施例中,若认证失败,则可重复向授权方用户请求授权用户认证的流程,此处请求重复认证为可选流程。认证失败后也可以直接终止流程。
S607:授权服务器对被授权方ID以及授权内容的URI进行解析。
S608:授权服务器将解析出的被授权方ID发送给被授权方ID对应的IDP服务器进行虚拟认证。
本发明实施例中,以图6所示的被授权客户终端1-n和IDP服务器1-n为例,当解析被授权方ID得到对应的IDP服务器为IDP服务器1时,则将被授权方ID发送给IDP服务器1进行虚拟认证,如果解析被授权方ID得到对应的IDP服务器为IDP服务器n时,则将被授权方ID发送给IDP服务器n进行虚拟认证。本发明实施例以及其他图示中IDP服务器对被授权方ID进行虚拟认证同上述认证方式。
S609:IDP服务器对被授权方ID进行虚拟认证,并向授权服务器返回虚拟认证结果。
S610:授权服务器根据IDP服务器返回的虚拟认证结果建立待确认授权列表,并在待确认授权列表中标注未知ID。
S611:授权服务器根据解析的资源内容URI信息向资源内容所在的资源服务器请求建立加密通道。
S612:资源服务器与授权服务器建立加密通道。
S613:授权服务器向授权方发送确认请求,将待确认授权列表发送给授权方进行确认。
S614-S615:授权方对待确认授权列表进行确认后向授权服务器返回确认后授权列表。
S616:授权服务器根据确认后授权列表建立授权返回地址列表。
S617:授权服务器生成授权码和授权密匙。
S618:授权服务器根据授权返回地址列表将授权码和授权密匙发送给被授权方ID对应的地址。
本发明所有实施例中,授权服务器根据授权返回地址列表将授权码和授权密匙发送给被授权方ID对应的地址具体为:授权服务器将授权信息发送到被授权方所属的IDP服务器的私有空间。则被授权方根据被授权方ID和密码登录被授权方所属的IDP服务器,进入被授权方所属的IDP服务器的私有空间获取授权码和授权密匙以及授授权内容的URI。从而实现IDP服务器对被授权方ID进行虚拟认证。
在本发明的实施例中,授权方可以是一个,也可以是多个,或者为授权方组。被授权方可以是一个,也可以是多个,或者为被授权客户组。
S619:授权服务器将授权返回地址列表,授权码和授权密匙发送给资源服务器。
S620:被授权方通过向资源服务器发送授权码以及根据被授权方的ID和授权密匙生成的签名请求授权内容。
S621:资源服务器对被授权方发出的请求核对授权码和签名。
本发明实施例中的授权码和根据被授权方ID以及授权密钥生成的签名为授权信息,在本发明实施例中,授权信息也可以为授权码和授权密钥。
S622:核对授权信息成功后,资源服务器向被授权方客户返回授权内容。
本发明提供的一种开放式认证的授权方法,如图7所示的流程图为授权方主动发起的授权请求的开放式认证的授权方法实施例。在该实施例中,授权方可以为A用户,客户终端1~n为被授权方或者被授权方用户的客户端,例如可以分别为被授权方B,C,D,E。由授权方发起的授权请求的该方法实施例包括以下步骤:
S701:授权方向授权服务器发出授权请求,请求消息中包括授权方的ID,被授权方的ID,以及授权内容的URI。
S702-S704:授权服务器在接收到授权请求后,解析授权方的ID,并请求授权方跳转到其对应的IDP服务器进行身份认证。
S705-S706:授权方对应的IDP服务器对授权方对授权资源有效性核实的身份认证后,向授权服务器返回认证结果。若认证失败,则可重复向授权方请求授权用户认证的流程,该流程可选,或者直接终止流程。
S707:授权服务器对被授权方的ID信息进行解析,以及对授权内容的URI进行解析。
S708:授权服务器将解析出的被授权方的ID发送给被授权方ID对应的IDP服务器进行虚拟认证。
S709:IDP服务器进行虚拟认证,并向授权服务器返回虚拟认证结果。
S710:授权服务器根据解析的资源内容URI信息向资源内容所在的资源服务器请求建立加密通道。
S711:资源服务器与授权服务器建立加密通道。
S712:授权服务器根据虚拟认证的结果建立授权返回地址列表。
S713:授权服务器生成授权码和授权密匙。
S714:授权服务器根据授权返回地址列表将授权码和授权密匙发送给被授权方ID对应的地址。
S715:授权服务器将授权返回地址列表,授权码和授权密匙发送给资源服务器。
S716:被授权方通过向资源服务器发送授权码以及被授权方ID和授权密匙生成的签名请求授权内容。
S717-S718:资源服务器根据被授权方发出的请求对授权码以及授权方ID和授权密匙生成的签名进行核实通过后,向被授权方返回授权内容。
在该实施例中,授权服务器根据虚拟认证的结果直接建立授权返回地址列表,不需要向授权方发送待确认授权列表,由于授权请求是授权方发起的,该实施例中授权方不需要确认待确认授权列表的流程,这样可以简化开放式认证的流程,方便用户实现开放式认证。
本发明实施例提供的一种开放式认证的授权方法,如图8所示的流程图为被授权方主动发起的授权请求的开放式认证的授权方法实施例。在该实施例中,授权方可以为A用户,客户终端1~n为被授权方或者被授权方用户的客户端,例如可以分别为被授权方B,C,D,E。由被授权方发起的授权请求的该方法实施例包括以下步骤:
S801:被授权方向授权服务器发出授权请求,授权请求消息中包括授权方的ID,被授权方的ID,以及授权内容的URI。
S802-S804:授权服务器在接收到授权请求后,解析授权方的ID,并请求授权方认证,则流程跳转到授权方对应的IDP服务器进行身份认证。
S805-S806:授权方对应的IDP服务器对授权方对授权资源有效性核实的身份认证后,向授权服务器返回认证结果。
在该步骤中,若认证失败,则可(选择)重复向授权方用户请求授权用户认证的流程,或者直接终止流程。
S807:确认授权方ID对授权资源有效性后,授权服务器对被授权方的ID进行解析,并对授权内容的URI进行解析。
S808:授权服务器将解析出的被授权方的ID发送给被授权方对应的IDP服务器进行虚拟认证。
如图8所示的IDP服务器1-n分别相应为被授权方客户终端1-N对应的IDP服务器,并且分别对相应的被授权方ID进行虚拟认证。
S809:IDP服务器向授权服务器返回虚拟认证结果。
S810:授权服务器根据IDP服务器返回的虚拟认证结果建立待确认授权列表,并在待确认授权列表中标注未知ID。
未知ID包括授权服务器不能解析的ID以及IDP服务器虚拟认证过程中认证未通过的ID。
S811:授权服务器根据解析的资源内容URI信息向资源内容所在的资源服务器请求建立加密通道,以及授权内容的标题title和摘要abstract。
S812:资源服务器与授权服务器成功建立加密通道,并返回授权内容的title和abstract。
S813:授权服务器将待确认授权列表发送给授权方进行确认。
S814-S815:授权方对待确认授权列表进行确认,向授权服务器返回确认后授权列表。
S816:授权服务器根据接收的确认后授权列表建立授权返回地址列表。
S817:授权服务器生成授权码和授权密匙。
S818:授权服务器根据授权返回地址列表中的被授权方ID将授权码和授权密匙发送给被授权方ID对应的地址。
S819:授权服务器将授权返回地址列表,授权码和授权密匙发送给资源服务器。
S820:被授权方向资源服务器发送授权码以及根据被授权方ID和授权密匙生成的签名以请求授权内容。
S821-S822:资源服务器根据被授权方发出的请求对被授权方ID和授权密匙生成的签名进行核实通过后,向被授权方返回授权内容。
在该实施例中,由被授权方发起授权请求,授权服务器根据虚拟认证的结果建立待确认授权列表,向授权方发送待确认授权列表,请求授权方进行授权确认,根据授权方返回的确认后授权列表建立授权返回地址列表,实现开放式认证。通过该实施例的技术方案,可以保证了开放式认证的授权安全性和有效性。
如图9所示提供一种开放式认证的授权方法实施例为被授权方主动发起的授权请求的开放式认证的授权方法。在该实施例中,授权方可以为A用户,客户终端1~n为被授权方或者被授权方用户的客户端,例如可以分别为被授权方B,C,D,E。由被授权方发起的授权请求的该方法实施例包括以下步骤:
S901:被授权方向授权服务器发出授权请求,请求消息中包括授权方ID,被授权方ID,以及授权内容的URI。
S902:授权服务器解析被授权方ID和授权内容URI,以及授权方ID。
S903:授权服务器根据授权内容URI,向资源服务器请求建立加密通道以及授权内容的标题title和摘要abstract。
S904:授权服务器将解析出的被授权方ID发送给对应的IDP服务器进行虚拟认征。
S905:IDP服务器对被授权方ID进行虚拟认证,向授权服务器返回虚拟认证结果。
S906:资源服务器与授权服务器成功建立加密通道,资源服务器向授权服务器返回授权内容的标题title和摘要abstract。
S907:授权服务器根据IDP服务器返回的虚拟认证结果建立待确认授权列表,标注未知ID。
S908:授权服务器根据已解析授权方ID,将待确认授权列表发送给授权方进行授权确认,并请求进行授权方身份认证。
S909-S912:授权方确认授权列表,并跳转到其对应的IDP服务器进行授权方对授权资源有效性核实的身份认证,授权方ID对应的IDP服务器向授权服务器返回身份认证结果。
该步骤中,若身份认证失败,则可以重复向授权方请求身份认证的流程,或者也可以直接终止流程。
S913:同时,授权方返回给授权服务器确认后授权列表。
S914:授权服务器根据确认后授权列表建立授权返回地址列表。
S915:授权服务器生成授权码和授权密匙。
S916:授权服务器根据授权返回地址列表将授权码和授权密匙发送给被授权方ID对应的地址。
S917:授权服务器将授权返回地址列表,授权码和授权密匙发送给资源服务器。
S918:被授权方通过向资源服务器发送授权码以及根据被授权方ID和授权密匙生成的签名请求授权内容。
S919-S920:资源服务器根据被授权方发出的请求对授权码和签名进行核实通过后,向被授权方返回授权内容。
在该实施例中,由被授权方发起授权请求,授权服务器根据虚拟认证的结果建立待确认授权列表,向授权方发送待确认授权列表,请求授权方进行授权确认,同时请求进行授权方身份认证,根据授权方ID对应的IDP服务器返回的身份认证结果和授权方返回的确认后授权列表建立授权返回地址列表,实现开放式认证。这种开放式认证方法简化开放式认证的流程,减少了授权服务器和授权方之间的交互,通过该实施例的技术方案,不需要事先进行授权方的身份认证,而在虚拟认证完成后,将身份认证和授权确认相结合,从而不仅可以保证了开放式认证的授权安全性和有效性,并且使得开放式认证流程更为简洁。
如图10所示提供一种开放式认证的授权方法实施例为被授权方主动发起的授权请求的开放式认证的授权方法。在本发明的实施例中,授权方可以是一个,也可以是多个,或者为授权方组。被授权方可以是一个,也可以是多个,或者为被授权客户组。在该实施例中,授权方可以为A用户,客户终端1~n为被授权方或者被授权方用户的客户端,例如可以分别为被授权方B,C,D,E。由被授权方发起的授权请求的该方法实施例包括以下步骤:
S1001:被授权方客户向授权服务器发出授权请求,请求消息中包括授权方的ID,被授权方ID,以及授权内容的URI。
S1002:授权服务器解析授权内容URI以及授权方ID。
S1003:授权服务器根据授权内容URI,向资源服务器请求建立加密通道,并请求返回授权内容的标题title和摘要abstract。
S1004:资源服务器与授权服务器成功建立加密通道,资源服务器向授权服务器返回授权内容的标题title和摘要abstract。
S1005:授权服务器根据已解析授权方ID,将授权内容的title和abstract发送给授权方,并请求进行授权对该授权资源的身份认证。
S1006-S1008:授权方跳转到授权方ID对应的IDP服务器进行身份认证,IDP服务器进行授权方对授权资源有效性身份认证后,向授权服务器返回认证结果。
在该步骤中,若身份认证失败,则可以重复向授权方请求授权方身份认证的流程,或者也可以直接终止流程。
S1009-S1011:授权服务器解析被授权方ID,将解析出的被授权方ID发送给其对应的IDP服务器进行虚拟认证。IDP服务器进行虚拟认证后,向授权服务器返回虚拟认证结果。
S1012:授权服务器根据IDP服务器返回的虚拟认证结果建立待确认授权列表,并标注未知ID。
S1013:授权服务向授权方发送待确认授权列表请求进行授权确认。
S1014-S1015:授权方确认授权列表后,向授权服务器返回确认后授权列表。
S1016:授权服务器根据确认后授权列表建立授权返回地址列表。
S1017:授权服务器生成授权码和授权密匙。
S1018:授权服务器根据授权返回地址列表将授权码和授权密匙发送给被授权方ID对应的地址。
S1019:授权服务器将授权返回地址列表,授权码和授权密匙发送给资源服务器。
S1020:被授权方通过向资源服务器发送授权码以及根据被授权方ID和授权密匙生成的签名请求授权内容。
S1021:资源服务器根据被授权方发出的请求核对授权码以及签名通过后,向被授权方返回授权内容。
在该实施例中,上述步骤S1012-1015为可选步骤,也就是说授权服务器可以直接根据IDP服务器返回的虚拟认证结果直接建立授权返回地址列表,不需要向授权方请求进行授权确认。这样可以简化开放式认证的流程。
在本发明实施例中,由被授权方发起授权请求,授权服务器向授权方请求进行授权方身份认证的同时,请求授权方对授权内容的标题和摘要进行确认,保证了授权方对授权内容监控的安全性。这种开放式认证方法同时还简化开放式认证的流程,
本发明实施例还提供一种实现开放式认证的授权装置。所述实现开放式认证授权的装置具体可以为授权服务器。如图11所示,所述实现开放式认证授权的装置包括:交互单元1101和处理器1102。所述交互单元1101用于接收授权请求方发送的授权请求。所述授权请求包括:授权方ID、被授权方ID、以及授权内容的URI。所述交互单元1101还用于根据授权请求中的被授权方ID向被授权方ID所属的IDP服务器请求进行虚拟认证,并接收被授权方ID所属的IDP服务器返回的认证结果。所述处理器1102用于根据虚拟认证结果生成返回地址列表,并生成授权信息。所述交互单元1101还用于将授权信息发送到被授权方所属的IDP服务器的私有空间,使得被授权方根据被授权方ID和密码登录被授权方所属的IDP服务器,进入被授权方所属的IDP服务器的私有空间获取授权信息以及授授权内容的URI。所述交互单元1101还用于根据授权资源的URI将授权信息发送给资源服务器。
本发明实施例中的所述处理器1102还用于对授权方ID、被授权方ID以及授权内容的URI进行解析。
所述处理器1102还用于对被授权方ID进行处理。首先将被授权方ID初始化。初始化的被授权方ID中包括参数:域参数(<Authority>)表示这个ID的提供商既IDP服务器;以及未知参数(<unknown>)表示该客户clientID的地址是否能够被所述处理器1102解析出来,以及是否能够被其对应的IDP服务器识别。
所述处理器1102解析初始化的被授权方ID,倘若该ID可以被解析,并且<Authority>的值可以被识别,则该ID中<unknown>一项的值为空,否则会被赋值为“yes”。
所述处理器1102会将所有的<unknown>值为空的被授权方ID根据相同<Authority>值进行分类。并将分好类的被授权方ID群组进行结构化处理后,通过https协议与<Authority>里描述的IDP服务器建立连接,并由交互单元1101发送请求至所述IDP服务器虚拟认证接口进行虚拟认证。
本发明实现开放式认证的授权装置另一实施例中,所述处理器1102还用于根据所述交互单元1101接收的被授权方ID所属的IDP服务器返回的虚拟认证结果,生成待确认授权列表向授权方请求授权确认,并根据授权方返回的确认结果生成返回地址列表。所述处理器1102生成待确认授权列表的同时,还可以标注未识别的未知ID。
本发明实现开放式认证的授权装置另一实施例中,所述交互单元1101还用于根据接收到的授权请求中的授权方ID向授权方ID所属的IDP服务器请求对授权方进行有效性认证,接收IDP服务器返回对授权方对授权内容的有效性进行身份认证的认证结果。
本发明实现开放式认证的授权装置另一实施例中,所述交互单元1101还用于根据解析的资源内容URI信息向资源内容所在的资源服务器请求建立加密通道,并完成与资源服务器建立加密通道。本发明实施例中,所述交互单元1101还可以用于向请求授权内容的标题title和摘要abstract,并接收资源服务器返回的授权内容的标题和摘要。
本发明实现开放式认证的授权装置另一实施例中,所述交互单元1101还用于向发送授权内容的标题title和摘要abstract。
通过本发明实施例的开放式认证的授权装置可以灵活地实现开放式认证授权。通过本发明的实施例可以通过开放式认证的授权装置根据虚拟认证的结果直接建立授权返回地址列表,不需要向授权方发送待确认授权列表,这样可以简化开放式认证的流程,方便用户实现开放式认证。通过本发明的实施例,也可以通过开放式认证的授权装置根据虚拟认证的结果建立待确认授权列表,向授权方发送待确认授权列表,请求授权方进行授权确认,同时请求进行授权方身份认证,根据授权方ID对应的IDP服务器返回的身份认证结果和授权方返回的确认后授权列表建立授权返回地址列表,实现开放式认证。这种开放式认证方法简化开放式认证的流程,减少了开放式认证的授权装置和授权方之间的交互,通过该实施例的技术方案,不需要事先进行授权方的身份认证,而在虚拟认证完成后,将身份认证和授权确认相结合,从而不仅可以保证了开放式认证的授权安全性和有效性,并且使得开放式认证流程更为简洁。
本发明实施例为了实现跨域授权或者批量授权,授权服务器需要对被授权方的身份有效性进行统一的验证。本发明实施例中采用虚拟认证方式实现认证,还可以通过授权方确认的方式来保证被授权方身份有效性。通过本发明实施例的技术方案,避免授权流程中由于等待所有被授权方身份验证时所造成的时延,提高了认证授权的效率。
本发明实施例中采取的虚拟认证方式,是指利用授权方/被授权方和其IDP服务器之间的信任关系,IDP服务器对不属于本认证域的ID进行标注并返回。例如,在本发明实施例中,IPD服务器可以将不属于本认证域的ID标注为未知unknown。虚拟认证是对授权服务器提供了一个对所有相关被授权方的虚拟认证,利用各个IDP服务器为其涵盖的ID提供临时性的担保,无需在此阶段与授权方/被授权方进行交互。通过虚拟认证,将实际的身份认证流程交给每一个被授权方以及其对应的IDP服务器,减少了授权服务器的负荷。因而避免了授权服务器由于被授权方身份有效性验证问题而产生阻碍授权流程的情况。
本发明实施例中的客户ID即为被授权方ID。在本发明实施例的虚拟认证过程中,授权服务器可以首先将客户ID初始化。初始化的客户ID包含参数:域参数<Authority>表示这个ID的提供商既IDP服务器,以及未知参数<unknown>表示该客户clientID的地址是否能够被授权服务器解析出来,以及是否能够被其对应的IDP服务器识别。
授权服务器解析初始化的客户ID,倘若该ID可以被解析,并且<Authority>的值可以被识别,则该ID中<unknown>一项的值为空,否则会被赋值为“yes”。
授权服务器将所有的<unknown>值为空的客户ID根据相同<Authority>值进行分类。并将分好类的客户ID群组进行结构化处理后,通过https协议与<Authority>里描述的IDP服务器建立连接,并发送请求至其虚拟认证接口进行验证。
IDP服务器在接收到来自授权服务器的请求后,将封装在请求中的客户ID中的<ID>值取出,并和本地存储的所有ID进行匹配。若有相同匹配,则证明该客户在该IDP服务器中为有效用户。IDP服务器在该ID中的<unknown>赋值为“no”,否则赋值为“yes”。IDP服务器完成对请求中每一个客户ID进行验证后,将结果发送回授权服务器。授权服务器根据收到的认证结果,将所有的客户ID汇总后建立一个授权确认列表。
本发明实施例完成虚拟认证后,还可以通过授权方进行授权确认保证该技术方案的安全性。因为仅仅通过虚拟认证是不足以能够确认被授权方身份的有效性的,因为客户并没有提供其私有的信用凭证来证明其身份的有效性。因此,为了补充证明客户的身份,需要授权方对被授权客户的ID进行再一次的确认。这样的好处有可以防止被授权客户的返回地址被篡改,或者是由于授权请求方的输入错位而导致的对错误ID的授权。由于对开放式ID管理的支持,授权确认可以针对非授权服务器支持的信任框架内的ID进行授权。从而更好的支持跨域的授权。
在虚拟认证之后,授权服务器需要对被授权客户ID的有效性通过授权方确认。倘若授权请求不是由授权用户发出而是由被授权客户发出,则授权服务器需要通过授权资源URI向其对应的资源服务器去获取该授权资源的标题和摘要。授权确认请求包含以下关键参数:资源参数(<resource>)为授权内容的URI,可以是一个URI,也可以是一个URI的列表。其中,每一个<resource>包含三个子参数:资源URI<resourceURI>包含该resource的URI地址,标题参数<title>描述该resource的题目,摘要参数<abstract>表示该resource的摘要。
授权方在收到由授权服务器发送过来的授权确认请求后,根据授权列表中附带的<resource>信息,授权方可以得知授权内容的具体信息包括标题和摘要。在对属于自身数据的授权内容了解的情况下,授权方可以依据clientID中的ID属性,来决定是否对该ID进行授权。若同意授权,则该ID描述中的<AuthorizationStatus>被赋值为“yes”,否则为“no”。当授权方完成针对该授权资源的所有被授权客户ID的授权确认之后,返回修改后的授权确认列表给授权服务器。
授权服务器发送授权确认请求给授权用户,授权用户的代理在接收到授权确认请求后,将收到的请求消息转化为可视的用户友好的界面呈现给用户,例如下图。用户在界面上可以获取授权内容的信息从而得知自己的哪些数据将会被授权。用户还可以看到一个关于被授权客户列表,被授权客户列表包括该客户的域authority,ID以及该ID的状态,即是否为未知ID。授权用户根据以上信息,决定是否为被授权客户列表中的客户进行授权,如果确认授权,则针对该客户进行授权确认,例如打钩。若客户没有被用户授权确认,则该客户不会被授权。当用户完成授权确认时,用户代理将授权确认信息发送回授权服务器,如图12用户确认授权界面所示。
图12为本发明实施例中授权用户确认的具体展现界面。该授权确认列表包含了两部分。第一部分是关于授权资源的具体信息,是由授权服务器预先和授权资源所在的资源服务器交互所获得的该授权资源的标题和摘要。由此可知,该授权请求是有被授权客户发出的而不是由授权用户发出。授权用户根据此信息可以得知自己什么数据将会被授权。若授权用户在得知标题和摘要的情况下还不清楚授权内容,则可以通过点击地址,登录相应的资源服务器去查看授权资源的具体内容。授权确认列表的第二部分包含所有被授权客户的ID。授权用户可以根据ID名,该ID所属的IDP域名即其authority,以及其status描述该ID是否能被解析,这些信息来判定是否对该ID进行授权。在该实施例中,若确认授权则会对该ID打钩。在本发明实施例中,授权方可以确定是否授权给未知客户,例如,第二个IDcdehotmail.com的status为unknown,意味着该ID不能被授权服务器和IDP所解析。如果授权用户熟知IDcdehotmail.com,则可以强制对该ID进行授权确认。也就是说,该ID是属于授权服务器信任框架之外的IDP的ID范畴。本发明另一实施例中,例如第四个IDxyzyahoo.com.cn,其status是unknown,意味着该ID不能被授权服务器和IDP所解析,如果授权用户不信任该ID,则该ID将不会得到授权用户确认。
授权服务器在收到授权用户返回的授权确认信息之后,将用户授权确认了的用户进行整合。授权服务器生成授权码和授权密匙。首先,授权服务器将整理后的被授权客户列表,授权码和授权密匙通过之前建立的加密通道发送给资源服务器。然后,授权服务器将授权码和授权密匙发送给被授权客户列表中的每一个客户。具体地可以发送到所述客户ID所属IDP服务器所对应的私有空间。当授权服务器完成了以上两个步骤,整个跨域批量统一授权的流程结束。
被授权客户登录其ID所属IDP服务器,进入其私有空间获取授权服务器发送的授权码和授权密匙。被授权客户通过获取的授权码和授权密匙和资源服务器进行https交互,客户输入授权码和授权密匙以及授权内容URI。资源服务器根据授权内容URI检查客户的授权码和授权密匙,同时还需要检查附带的有效期属性和单次值属性,以防止重放攻击。如果验证通过,则资源服务器返回用授权码加密后的授权资源内容给客户。
通过本发明上述实施例提供的技术方案在该实施例中,可以通过授权服务器根据虚拟认证的结果直接建立授权返回地址列表,不需要向授权方发送待确认授权列表,这样可以简化开放式认证的流程,方便用户实现开放式认证。还可以通过授权服务器根据虚拟认证的结果建立待确认授权列表,向授权方发送待确认授权列表,请求授权方进行授权确认,同时请求进行授权方身份认证,根据授权方ID对应的IDP服务器返回的身份认证结果和授权方返回的确认后授权列表建立授权返回地址列表,实现开放式认证。这种开放式认证方法简化开放式认证的流程,减少了授权服务器和授权方之间的交互,通过该实施例的技术方案,不需要事先进行授权方的身份认证,而在虚拟认证完成后,将身份认证和授权确认相结合,从而不仅可以保证了开放式认证的授权安全性和有效性,并且使得开放式认证流程更为简洁。
本领域普通技术人员可知,上述方法中的全部或部分步骤可以通过程序指令相关的硬件完成,该程序可以存储于一计算机可读存储介质中,该计算机可读存储介质如ROM、RAM和光盘等。
综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (17)

1.一种开放式认证的授权方法,其特征在于,包括步骤:
授权服务器接收授权请求方发送的授权请求,所述授权请求包括:授权方ID、被授权方ID、以及授权内容的URI;
授权服务器根据授权请求中的被授权方ID向被授权方ID所属的IDP服务器请求进行虚拟认证,接收被授权方ID所属的IDP服务器返回的虚拟认证结果;
授权服务器生成返回地址列表,并生成授权信息;
授权服务器将授权信息发送到被授权方所属的IDP服务器的私有空间,使得被授权方根据被授权方ID和密码登录被授权方所属的IDP服务器,进入被授权方所属的IDP服务器的私有空间获取授权信息以及授权内容的URI;
授权服务器根据授权资源的URI将授权信息发送给资源服务器。
2.如权利要求1所述的方法,其特征在于,包括步骤:被授权方根据授权信息向资源服务器获取授权内容。
3.如权利要求1所述的方法,其特征在于,还包括步骤:授权服务器根据被授权方ID所属的IDP服务器返回的虚拟认证结果,生成待确认授权列表向授权方请求授权确认,并接收授权方返回的确认后的授权列表,根据确认后的授权列表生成返回地址列表。
4.如权利要求1所述的方法,其特征在于,还包括步骤:授权服务器根据接收到的授权请求中的授权方ID向授权方ID所属的IDP服务器请求对授权方进行有效性认证,IDP服务器对授权方对授权内容的有效性进行身份认证,并向授权服务器返回认证结果。
5.如权利要求3所述的方法,其特征在于,所述授权请求方为被授权方,则该方法还包括步骤:
授权服务器根据解析的资源内容URI信息向资源内容所在的资源服务
器请求建立加密通道,以及授权内容的标题和摘要;
资源服务器与授权服务器成功建立加密通道,并返回授权内容的标题和摘要。
6.如权利要求1-5所述任一方法,其特征在于,所述虚拟认证为根据授权方ID/被授权方ID和其对应IDP服务器之间的信任关系,IDP服务器对授权方ID/被授权方ID进行认证,对于不属于所述IDP服务器认证域的ID进行标注为未知并返回给授权服务器。
7.如权利要求1-5所述任一方法,其特征在于,所述接收被授权方ID所属的IDP服务器返回的虚拟认证结果具体为:IDP服务器根据接收到授权服务器的请求将封装在请求中的客户ID中的ID值取出,并和本地存储的所有ID进行匹配,若有相同匹配,IDP服务器在该ID中的未知参数(<unknown>)赋值为“no”,否则赋值为“yes”,将认证结果返回给授权服务器。
8.如权利要求7所述的方法,其特征在于,所述被授权方ID包括域参数(<Authority>)和未知参数(<unknown>),则在请求进行虚拟认证之前还包括步骤:授权服务器解析初始化的被授权方ID,倘若所述被授权方ID可以被解析,并且<Authority>的值可以被识别,未知<unknown>一项的值为空,否则会被赋值为“yes”。
9.如权利要求8所述的方法,其特征在于,还包括步骤:授权服务器将所有的<unknown>值为空的被授权方ID根据相同<Authority>值进行分类,将分好类的被授权方ID群组进行结构化处理后,通过https协议与<Authority>里描述的IDP服务器建立连接,发送请求至所述IDP服务器虚拟认证接口进行虚拟认证。
10.一种开放式认证的授权装置,其特征在于,包括交互单元(1101)和处理器(1102),其中:
所述交互单元(1101)用于接收授权请求方发送的授权请求,所述授权请求包括:授权方ID、被授权方ID、以及授权内容的URI;
所述交互单元(1101)还用于根据授权请求中的被授权方ID向被授权方ID所属的IDP服务器请求进行虚拟认证,并接收被授权方ID所属的IDP服务器返回的认证结果;
所述处理器(1102)用于对授权方ID、被授权方ID以及授权内容的URI进行解析,根据虚拟认证结果生成返回地址列表,并生成授权信息;
所述交互单元(1101)还用于将授权信息发送到被授权方所属的IDP服务器的私有空间,使得被授权方根据被授权方ID和密码登录被授权方所属的IDP服务器,进入被授权方所属的IDP服务器的私有空间获取授权信息以及授权内容的URI;
所述交互单元(1101)还用于根据授权资源的URI将授权信息发送给资源服务器。
11.如权利要求10所述的装置,其特征在于,还包括处理器(1102)还用于根据接收到的授权请求中的授权方ID向授权方ID所属的IDP服务器请求对授权方进行有效性认证,接收IDP服务器返回对授权方对授权内容的有效性进行身份认证的认证结果,根据所述交互单元(1101)接收的被授权方ID所属的IDP服务器返回的虚拟认证结果,生成待确认授权列表向授权方请求授权确认,并根据授权方返回的确认结果生成返回地址列表。
12.如权利要求10或11所述的装置,其特征在于,所述被授权方ID包括:域参数(<Authority>)和未知参数(<unknown>),所述处理器(1102)还用于解析初始化的被授权方ID,倘若所述被授权方ID可以被解析,并且<Authority>的值可以被识别,<unknown>一项的值为空,否则会被赋值为“yes”。
13.如权利要求12所述装置,其特征在于,所述处理器(1102)还用于将所有的<unknown>值为空的被授权方ID根据相同<Authority>值进行分类,将分好类的被授权方ID群组进行结构化处理后,通过https协议与<Authority>里描述的IDP服务器建立连接,发送请求至所述IDP服务器虚拟认证接口进行虚拟认证。
14.一种实现开放式认证的授权系统,其特征在于,包括:授权服务器、IDP服务器、资源服务器,其中:
所述授权服务器接收授权请求方发送的授权请求,所述授权请求包括:授权方ID、被授权方ID、以及授权内容的URI;
所述授权服务器根据授权请求中的被授权方ID向被授权方ID所属的IDP服务器请求进行虚拟认证,接收被授权方ID所属的IDP服务器返回的认证结果;
被授权方ID所属的IDP服务器对被授权方ID进行虚拟认证,向授权服务器返回虚拟认证结果;
所述授权服务器还用于生成返回地址列表,并生成授权信息,将授权信息发送到被授权方所属的IDP服务器的私有空间,使得被授权方根据被授权方ID和密码登录被授权方所属的IDP服务器,进入被授权方所属的IDP服务器的私有空间获取授权信息以及授权内容的URI,授权服务器根据授权资源的URI将授权信息发送给所述资源服务器。
15.如权利要求14所述的系统,其特征在于,所述被授权方ID包括:域参数(<Authority>)和未知参数(<unknown>),授权服务器还用于解析初始化的被授权方ID,倘若所述被授权方ID可以被解析,并且<Authority>的值可以被识别,<unknown>一项的值为空,否则会被赋值为“yes”。
16.如权利要求14或15所述的系统,其特征在于,授权服务器还用于将所有的<unknown>值为空的被授权方ID根据相同<Authority>值进行分类,将分好类的被授权方ID群组进行结构化处理后,通过https协议与<Authority>里描述的IDP服务器建立连接,发送请求至所述IDP服务器虚拟认证接口进行虚拟认证。
17.如权利要求16所述的系统,其特征在于,IDP服务器还用于根据接收到授权服务器的请求将封装在请求中的客户ID中的<ID>值取出,并和本地存储的所有ID进行匹配,若有相同匹配,IDP服务器在该ID中的<unknown>赋值为“no”,否则赋值为“yes”,将认证结果返回给授权服务器。
CN201110393481.3A 2011-12-01 2011-12-01 一种开放式认证的授权方法、装置和系统 Expired - Fee Related CN103139181B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110393481.3A CN103139181B (zh) 2011-12-01 2011-12-01 一种开放式认证的授权方法、装置和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110393481.3A CN103139181B (zh) 2011-12-01 2011-12-01 一种开放式认证的授权方法、装置和系统

Publications (2)

Publication Number Publication Date
CN103139181A CN103139181A (zh) 2013-06-05
CN103139181B true CN103139181B (zh) 2016-03-30

Family

ID=48498491

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110393481.3A Expired - Fee Related CN103139181B (zh) 2011-12-01 2011-12-01 一种开放式认证的授权方法、装置和系统

Country Status (1)

Country Link
CN (1) CN103139181B (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9160731B2 (en) 2013-09-06 2015-10-13 International Business Machines Corporation Establishing a trust relationship between two product systems
CN105100030B (zh) * 2014-05-23 2020-02-21 腾讯科技(北京)有限公司 访问控制方法、系统和装置
CN105763514B (zh) * 2014-12-17 2019-11-29 华为技术有限公司 一种处理授权的方法、设备和系统
CN105391725A (zh) * 2015-11-27 2016-03-09 深圳市摩艾客科技股份有限公司 一种真人3d数据读取模块及其数据传输方法
CN105577691B (zh) * 2016-02-03 2019-06-18 飞天诚信科技股份有限公司 一种安全访问方法和服务器
CN106295394B (zh) * 2016-07-22 2018-11-23 飞天诚信科技股份有限公司 资源授权方法及系统和授权服务器及工作方法
CN107920060B (zh) * 2017-10-11 2020-06-05 北京京东尚科信息技术有限公司 基于账号的数据访问方法和装置
CN107944919B (zh) * 2017-11-24 2020-01-07 平安科技(深圳)有限公司 账户查询方法、装置、设备及计算机可读存储介质
JP6643373B2 (ja) 2018-02-09 2020-02-12 キヤノン株式会社 情報処理システムと、その制御方法とプログラム
CN110768967B (zh) * 2019-10-11 2021-06-01 支付宝(杭州)信息技术有限公司 业务授权方法、装置、设备、系统及存储介质
CN111770088A (zh) * 2020-06-29 2020-10-13 南方电网科学研究院有限责任公司 数据鉴权方法、装置、电子设备和计算机可读存储介质
JP7453179B2 (ja) * 2021-04-20 2024-03-19 トヨタ自動車株式会社 認証システム
CN113704723B (zh) * 2021-10-27 2022-02-08 北京微芯感知科技有限公司 基于区块链的数字身份核验方法、装置及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010000298A1 (en) * 2008-06-30 2010-01-07 Nokia Siemens Networks Oy Apparatus, method and program for integrated authentication
CN101867589A (zh) * 2010-07-21 2010-10-20 深圳大学 一种网络身份认证服务器及其认证方法与系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010000298A1 (en) * 2008-06-30 2010-01-07 Nokia Siemens Networks Oy Apparatus, method and program for integrated authentication
CN101867589A (zh) * 2010-07-21 2010-10-20 深圳大学 一种网络身份认证服务器及其认证方法与系统

Also Published As

Publication number Publication date
CN103139181A (zh) 2013-06-05

Similar Documents

Publication Publication Date Title
CN103139181B (zh) 一种开放式认证的授权方法、装置和系统
CN102143134B (zh) 分布式身份认证方法、装置与系统
CN106850699B (zh) 一种移动终端登录认证方法及系统
CN105959267B (zh) 单点登录技术中的主令牌获取方法、单点登录方法及系统
CN102571766B (zh) 注册和网络接入控制
CN111245870B (zh) 基于移动终端的身份认证方法及相关装置
CN103685139B (zh) 认证授权处理方法及装置
CN109561066A (zh) 数据处理方法、装置、终端及接入点计算机
CN106209749A (zh) 单点登录方法及装置、相关设备和应用的处理方法及装置
CN102984127A (zh) 一种以用户为中心的移动互联网身份管理及认证方法
CN112491881A (zh) 跨平台单点登录方法、系统、电子设备及存储介质
CN106302606B (zh) 一种跨应用访问方法及装置
CN101841525A (zh) 安全接入方法、系统及客户端
CN104158802A (zh) 一种平台授权方法、平台服务端及应用客户端和系统
CN103716285A (zh) 一种单点登录方法、代理服务器及系统
CN101540757A (zh) 网络认证方法、系统和认证设备
CN105337967B (zh) 实现用户登录目标服务器的方法、系统和中心服务器
CN103023856A (zh) 单点登录的方法、系统和信息处理方法、系统
CN109962892A (zh) 一种登录应用的认证方法及客户端、服务器
CN106161475A (zh) 用户鉴权的实现方法和装置
CN109088890A (zh) 一种身份认证方法、相关装置及系统
CN103024735A (zh) 无卡终端的业务访问方法及设备
CN106533681B (zh) 一种支持部分出示的属性证明方法与系统
CN102420808A (zh) 一种在电信网上营业厅实现单点登录的方法
CN112235276B (zh) 主从设备交互方法、装置、系统、电子设备和计算机介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20160330