CN102761549A | 2012-10-31 | |||
CN102761537A | 2012-10-31 | |||
CN102394887A | 2012-03-28 | |||
CN102611709A | 2012-07-25 | |||
US20130019295A1 | 2013-01-17 |
北京派特恩知识产权代理事务所(普通合伙) (CN)
权利要求书 1、 一种双向授权系统, 该系统包括: 第一服务提供子系统、 第二服务 提供子系统、 用户终端; 其中, 所述第一服务提供子系统, 配置为分别获取第一服务提供子系统的第 一临时凭据、 第二服务提供子系统的第二临时凭据; 将第二临时凭据发送 至用户终端进行授权, 接收用户终端返回的第二授权凭据, 并将第二授权 凭据发送至第二服务提供子系统以换取第二访问令牌, 根据所述第二访问 令牌, 获取第二服务提供子系统中的资源; 以及, 将第一临时凭据发送至 第二服务提供子系统; 所述第二服务提供子系统, 配置为接收第一服务提供子系统发送的第 一临时凭据, 并修改所述第一临时凭据中的标识; 将修改后的第一临时凭 据发送至用户终端进行授权, 接收用户终端返回的第一授权凭据, 将第一 授权凭据发送至第一服务提供子系统以换取第一访问令牌, 根据所述第一 访问令牌, 获取第一服务提供子系统中的资源; 所述用户终端, 配置为分别接收第一服务提供子系统发送的第二临时 凭据、 第二服务提供子系统发送的第一临时凭据; 分别对第二临时凭据、 第一临时凭据进行授权, 并将授权后的第二授权凭据、 第一授权凭据分别 发送至第一服务提供子系统、 第二服务提供子系统。 2、根据权利要求 1所述的系统, 其中, 所述第一服务提供子系统包括: 第一客户端、 第一开放授权 OAuth服务器、 第一资源服务器; 其中, 所述第一客户端, 配置为向第一 OAuth服务器、 第二服务提供子系统 分别发送请求临时凭据命令; 接收第一 OAuth服务器、 第二服务提供子系 统分别返回的第一临时凭据、 第二临时凭据; 将第二临时凭据发送至用户 终端进行授权, 接收用户终端返回的第二授权凭据, 将所述第二授权凭据 发送至第二服务提供子系统以换取第二访问令牌; 将第二访问令牌发送至 第二服务提供子系统进行认证, 在第二服务提供子系统认证成功后, 访问 第二服务提供子系统提供的资源; 还配置为将第一临时凭据发送至第二服 务提供子系统进行客户端标识修改; 所述第一 OAuth服务器, 配置为接收第一客户端发送的请求临时凭据 命令, 并根据该命令返回第一临时凭据给第一客户端; 接收第二服务提供 子系统发送的第一授权凭据, 返回第一访问令牌给第二服务提供子系统, 并将第一访问令牌发送至第一资源服务器作为认证依据; 所述第一资源服务器, 配置为接收第二服务提供子系统发送的第一访 问令牌, 并根据第一 OAuth服务器发送的第一访问令牌对所述第二服务提 供子系统发送的第一访问令牌进行认证, 认证成功后提供第一服务资源给 第二服务提供子系统进行访问。 3、根据权利要求 1所述的系统, 其中, 所述第二服务提供子系统包括: 第二客户端、 第二 OAuth服务器、 第二资源服务器; 其中, 所述第二客户端, 配置为接收第一服务提供子系统发送的第一临时凭 据, 并将所述第一临时凭据中的第一客户端标识改为第二客户端标识; 将 修改后的第一临时凭据发送至用户终端进行授权; 接收用户终端返回的第 一授权凭据, 将所述第一授权凭据发送至第一服务提供子系统以换取第一 访问令牌; 将第一访问令牌发送至第一服务提供子系统进行认证, 在第一 服务提供子系统认证成功后, 访问第一服务提供子系统提供的第一服务资 源; 所述第二 OAuth服务器, 配置为接收第一服务提供子系统发送的请求 临时凭据命令, 并根据该命令返回第二临时凭据给第一服务提供子系统; 接收第一服务提供子系统发送的第二授权凭据, 返回第二访问令牌给第一 服务提供子系统, 并将第二访问令牌发送至第二资源服务器作为认证依据; 所述第二资源服务器, 配置为接收第一服务提供子系统发送的第二访 问令牌, 并根据第二 OAuth服务器发送的第二访问令牌对所述第一服务提 供子系统发送的第二访问令牌进行认证, 认证成功后提供第二服务资源给 第一服务提供子系统进行访问。 4、根据权利要求 2所述的系统, 其中, 所述第二服务提供子系统包括: 第二客户端、 第二 OAuth服务器、 第二资源服务器; 所述第一客户端, 配置为向第一 OAuth服务器、 第二 OAuth服务器分 别发送请求临时凭据命令; 接收第一 OAuth服务器、 第二 OAuth服务器分 别返回的第一临时凭据、 第二临时凭据; 将第二临时凭据发送至用户终端 进行授权; 接收用户终端返回的第二授权凭据, 将所述第二授权凭据发送 至第二 OAuth服务器以换取第二访问令牌; 将第二访问令牌发送至第二资 源服务器进行认证, 在第二资源服务器认证成功后, 访问第二资源服务器 提供的第二服务资源; 还配置为将第一临时凭据发送至第二客户端; 所述第一 OAuth服务器, 配置为接收第一客户端发送的请求临时凭据 命令, 并根据该命令返回第一临时凭据给第一客户端; 接收第二客户端发 送的第一授权凭据, 返回第一访问令牌给第二客户端, 并将第一访问令牌 发送至第一资源服务器作为认证依据; 所述第一资源服务器, 配置为接收第二客户端发送的第一访问令牌, 并根据第一 OAuth服务器发送的第一访问令牌对所述第二客户端发送的第 一访问令牌进行认证, 认证成功后提供第一服务资源给第二客户端进行访 问; 所述第二客户端,配置为接收第一 OAuth服务器发送的第一临时凭据, 并将所述第一临时凭据中的第一客户端标识改为第二客户端标识; 将修改 后的第一临时凭据发送至用户终端进行授权; 接收用户终端返回的第一授 权凭据, 将所述第一授权凭据发送至第一 OAuth服务器以换取第一访问令 牌; 将第一访问令牌发送至第一资源服务器进行认证, 在第一资源服务器 认证成功后, 访问第一资源服务器提供的第一服务资源; 所述第二 OAuth服务器, 配置为接收第一客户端发送的请求临时凭据 命令, 并根据该命令返回第二临时凭据给第一客户端; 接收第一客户端发 送的第二授权凭据, 返回第二访问令牌给第一客户端, 并将第二访问令牌 发送至第二资源服务器作为认证依据; 所述第二资源服务器, 配置为接收第一客户端发送的第二访问令牌, 并根据第二 OAuth服务器发送的第二访问令牌对所述第一客户端发送的第 二访问令牌进行认证, 认证成功后提供第二服务资源给第一客户端进行访 问。 5、 根据权利要求 3 所述的系统, 其中, 所述请求临时凭据命令通过 OAuth协议定义的临时凭据请求报文来承载。 6、 一种客户端, 设置于服务提供子系统中, 所述服务提供子系统还包 括 OAuth服务器、 资源服务器, 该客户端包括: 临时凭据获取模块、 访问 令牌获取模块、 资源获取模块; 其中, 所述临时凭据模块, 配置为向本侧服务提供子系统的 OAuth服务器、 他侧服务提供子系统的 OAuth服务器分别发送请求临时凭据命令; 接收本 侧服务提供子系统的 OAuth服务器返回的第一临时凭据、 他侧服务提供子 系统的 OAuth服务器返回的第二临时凭据; 将第一临时凭据发送至他侧服 务提供子系统的客户端; 所述访问令牌获取模块, 配置为将第二临时凭据发送至用户终端进行 授权; 接收用户终端返回的第二授权凭据, 将所述第二授权凭据发送至他 侧服务提供子系统的 OAuth服务器以换取第二访问令牌; 所述资源获取模块, 配置为将第二访问令牌发送至他侧服务提供子系 统的资源服务器进行认证, 在他侧服务提供子系统的资源服务器认证成功 后, 访问他侧服务提供子系统的资源服务器提供的资源。 7、 一种客户端, 设置于服务提供子系统中, 所述服务提供子系统还包 括 OAuth服务器、 资源服务器, 该客户端包括: 临时凭据获取模块、 访问 令牌获取模块、 资源获取模块; 其中, 所述临时凭据获取模块, 配置为接收他侧服务提供子系统的 OAuth月良 务器发送的第一临时凭据, 并将所述第一临时凭据中的他侧服务提供子系 统的客户端标识改为本侧服务提供子系统的客户端标识; 所述访问令牌获取模块, 配置为将修改后的第一临时凭据发送至用户 终端进行授权; 接收用户终端返回的第一授权凭据, 将所述第一授权凭据 发送至他侧服务提供子系统的 OAuth服务器以换取第一访问令牌; 所述资源获取模块, 配置为将第一访问令牌发送至他侧服务提供子系 统的资源服务器进行认证, 在他侧服务提供子系统的资源服务器认证成功 后, 访问他侧服务提供子系统的资源服务器提供的资源。 8、 一种双向授权方法, 该方法包括: 第一服务提供子系统获取第一服务提供子系统的第一临时凭据、 第二 服务提供子系统的第二临时凭据; 将第二临时凭据发送至用户终端进行授 权, 得到第二授权凭据; 将第二授权凭据发送至第二服务提供子系统以换 取第二访问令牌, 根据所述第二访问令牌获取第二服务提供子系统中的资 源; 将第一临时凭据发送至第二服务提供子系统进行标识修改; 第二服务提供子系统将修改后的第一临时凭据发送至用户终端进行授 权, 得到第一授权凭据; 将第一授权凭据发送至第一服务提供子系统以换 取第一访问令牌, 根据所述第一访问令牌获取第一服务提供子系统中的资 源。 9、 根据权利要求 8所述的方法, 其中, 所述第一服务提供子系统获取 第一服务提供子系统的第一临时凭据、 第二服务提供子系统的第二临时凭 据, 包括: 第一服务提供子系统中的第一客户端向第一服务提供子系统中的第一 OAuth服务器、 第二服务提供子系统中的第二 OAuth服务器分别发送请求 临时凭据命令; 接收第一 OAuth服务器、 第二 OAuth服务器返回的第一临 时凭据、 第二临时凭据。 10、 根据权利要求 7或 8所述的方法, 其中, 所述第一临时凭据的授权为: 输入第一服务提供子系统的用户名和密 码; 所述用户名和密码为用户终端在第一服务提供子系统注册的用户名和 密码; 所述第二临时凭据的授权为: 输入第二服务提供子系统的用户名和密 码; 所述用户名和密码为用户终端在第二服务提供子系统注册的用户名和 |
本发明涉及互联网中的授权技术, 尤其涉及一种双向授权系统、 客户 端及方法。 背景技术
客户端如果想访问用户在服务器侧受保护的资 源则需要使用用户的身 份凭据, 如用户名和密码。 如果想要第三方的客户端也能访问用户在服务 器侧受保护的资源就需要把用户的身份凭据提 供给第三方客户端, 如此, 就存在严重的安全隐患。
开放授权(OAuth, Open Auth )协议为解决上述问题, 为用户资源的 授权提供了一个安全、 开放、 简易的标准, 通过一个中间层将客户端和用 户授权过程分离, 在第三方客户端不触及到用户的凭据信息的情 况就可以 申请获得该用户资源的授权。 OAuth协议中定义了四种角色, 包括资源所 有者、 客户端、 资源服务器、 授权服务器; 其中, 资源所有者是指拥有资 源的用户, 可以授权客户端访问自已的资源; 客户端是访问受保护的资源 的客户端程序; 资源服务器是保存资源所有者的资源的服务器 , 需客户端 被资源所有者授权之后才可以被访问。 授权服务器负责在接收到资源所有 者的用户凭据后生成访问令牌给客户端。
通过 OAuth协议可以使得第三方客户端在获取用户授 后, 访问用户 在资源服务器侧受保护的资源。 但是, OAuth协议是一个单向授权的协议, 只能由第三方客户端向资源服务器请求单方面 的授权, 不能同时满足客户 端向第三方资源服务器请求授权。 例如, 当客户端为微博、 第三方客户端 为博客时, 资源服务器为用户受保护的微博信息, 第三方资源服务器为用 户受保护的博客信息, 博客客户端经过资源所有者授权后, 可以访问资源 服务器侧的微博信息; 但是, 微博客户端不能访问第三方资源服务器侧的 博客信息。 发明内容
有鉴于此, 本发明实施例的主要目的在于提供一种双向授 权系统、 客 户端及方法, 使两侧客户端能够同时访问对方受保护的资源 。
为达到上述目的, 本发明实施例的技术方案是这样实现的:
一种双向授权系统, 该系统包括: 第一服务提供子系统、 第二服务提 供子系统、 用户终端; 其中,
所述第一服务提供子系统, 配置为分别获取第一服务提供子系统的第 一临时凭据、 第二服务提供子系统的第二临时凭据; 将第二临时凭据发送 至用户终端进行授权, 接收用户终端返回的第二授权凭据, 并将第二授权 凭据发送至第二服务提供子系统以换取第二访 问令牌, 根据所述第二访问 令牌, 获取第二服务提供子系统中的资源; 以及, 将第一临时凭据发送至 第二服务提供子系统;
所述第二服务提供子系统, 配置为接收第一服务提供子系统发送的第 一临时凭据, 并修改所述第一临时凭据中的标识; 将修改后的第一临时凭 据发送至用户终端进行授权, 接收用户终端返回的第一授权凭据, 将第一 授权凭据发送至第一服务提供子系统以换取第 一访问令牌, 根据所述第一 访问令牌, 获取第一服务提供子系统中的资源;
所述用户终端, 配置为分别接收第一服务提供子系统发送的第 二临时 凭据、 第二服务提供子系统发送的第一临时凭据; 分别对第二临时凭据、 第一临时凭据进行授权, 并将授权后的第二授权凭据、 第一授权凭据分别 发送至第一服务提供子系统、 第二服务提供子系统。
上述方案中, 所述第一服务提供子系统包括: 第一客户端、第一 OAuth 服务器、 第一资源服务器; 其中,
所述第一客户端, 配置为向第一 OAuth服务器、 第二服务提供子系统 分别发送请求临时凭据命令; 接收第一 OAuth服务器、 第二服务提供子系 统分别返回的第一临时凭据、 第二临时凭据; 将第二临时凭据发送至用户 终端进行授权, 接收用户终端返回的第二授权凭据, 将所述第二授权凭据 发送至第二服务提供子系统以换取第二访问令 牌; 将第二访问令牌发送至 第二服务提供子系统进行认证, 在第二服务提供子系统认证成功后, 访问 第二服务提供子系统提供的资源; 还配置为将第一临时凭据发送至第二服 务提供子系统进行客户端标识修改;
所述第一 OAuth服务器, 配置为接收第一客户端发送的请求临时凭据 命令, 并根据该命令返回第一临时凭据给第一客户端 ; 接收第二服务提供 子系统发送的第一授权凭据, 返回第一访问令牌给第二服务提供子系统, 并将第一访问令牌发送至第一资源服务器作为 认证依据;
所述第一资源服务器, 配置为接收第二服务提供子系统发送的第一访 问令牌, 并根据第一 OAuth服务器发送的第一访问令牌对所述第二服 提 供子系统发送的第一访问令牌进行认证, 认证成功后提供第一服务资源给 第二服务提供子系统进行访问。
上述方案中, 所述第二服务提供子系统包括: 第二客户端、第二 OAuth 服务器、 第二资源服务器; 其中,
所述第二客户端, 配置为接收第一服务提供子系统发送的第一临 时凭 据, 并将所述第一临时凭据中的第一客户端标识改 为第二客户端标识; 将 修改后的第一临时凭据发送至用户终端进行授 权; 接收用户终端返回的第 一授权凭据, 将所述第一授权凭据发送至第一服务提供子系 统以换取第一 访问令牌; 将第一访问令牌发送至第一服务提供子系统进 行认证, 在第一 服务提供子系统认证成功后, 访问第一服务提供子系统提供的第一服务资 所述第二 OAuth服务器, 配置为接收第一服务提供子系统发送的请求 临时凭据命令, 并根据该命令返回第二临时凭据给第一服务提 供子系统; 接收第一服务提供子系统发送的第二授权凭据 , 返回第二访问令牌给第一 服务提供子系统, 并将第二访问令牌发送至第二资源服务器作为 认证依据; 所述第二资源服务器, 配置为接收第一服务提供子系统发送的第二访 问令牌, 并根据第二 OAuth服务器发送的第二访问令牌对所述第一服 提 供子系统发送的第二访问令牌进行认证, 认证成功后提供第二服务资源给 第一服务提供子系统进行访问。
上述方案中, 所述第二服务提供子系统包括: 第二客户端、第二 OAuth 服务器、 第二资源服务器;
所述第一客户端, 配置为向第一 OAuth服务器、 第二 OAuth服务器分 别发送请求临时凭据命令; 接收第一 OAuth服务器、 第二 OAuth服务器分 别返回的第一临时凭据、 第二临时凭据; 将第二临时凭据发送至用户终端 进行授权; 接收用户终端返回的第二授权凭据, 将所述第二授权凭据发送 至第二 OAuth服务器以换取第二访问令牌; 将第二访问令牌发送至第二资 源服务器进行认证, 在第二资源服务器认证成功后, 访问第二资源服务器 提供的第二服务资源; 还配置为将第一临时凭据发送至第二客户端;
所述第一 OAuth服务器, 配置为接收第一客户端发送的请求临时凭据 命令, 并根据该命令返回第一临时凭据给第一客户端 ; 接收第二客户端发 送的第一授权凭据, 返回第一访问令牌给第二客户端, 并将第一访问令牌 发送至第一资源服务器作为认证依据;
所述第一资源服务器, 配置为接收第二客户端发送的第一访问令牌, 并根据第一 OAuth服务器发送的第一访问令牌对所述第二客 端发送的第 一访问令牌进行认证, 认证成功后提供第一服务资源给第二客户端进 行访 所述第二客户端,配置为接收第一 OAuth服务器发送的第一临时凭据, 并将所述第一临时凭据中的第一客户端标识改 为第二客户端标识; 将修改 后的第一临时凭据发送至用户终端进行授权; 接收用户终端返回的第一授 权凭据, 将所述第一授权凭据发送至第一 OAuth服务器以换取第一访问令 牌; 将第一访问令牌发送至第一资源服务器进行认 证, 在第一资源服务器 认证成功后, 访问第一资源服务器提供的第一服务资源;
所述第二 OAuth服务器, 配置为接收第一客户端发送的请求临时凭据 命令, 并根据该命令返回第二临时凭据给第一客户端 ; 接收第一客户端发 送的第二授权凭据, 返回第二访问令牌给第一客户端, 并将第二访问令牌 发送至第二资源服务器作为认证依据;
所述第二资源服务器, 配置为接收第一客户端发送的第二访问令牌, 并根据第二 OAuth服务器发送的第二访问令牌对所述第一客 端发送的第 二访问令牌进行认证, 认证成功后提供第二服务资源给第一客户端进 行访 问。
上述方案中, 所述请求临时凭据命令通过 OAuth协议定义的临时凭据 请求报文来承载。
一种客户端, 设置于服务提供子系统中, 所述服务提供子系统还包括 OAuth服务器、 资源服务器, 该客户端包括: 临时凭据获取模块、 访问令 牌获取模块、 资源获取模块; 其中,
所述临时凭据模块, 配置为向本侧服务提供子系统的 OAuth服务器、 他侧服务提供子系统的 OAuth服务器分别发送请求临时凭据命令; 接收本 侧服务提供子系统的 OAuth服务器返回的第一临时凭据、 他侧服务提供子 系统的 OAuth服务器返回的第二临时凭据; 将第一临时凭据发送至他侧服 务提供子系统的客户端; 所述访问令牌获取模块, 配置为将第二临时凭据发送至用户终端进行 授权; 接收用户终端返回的第二授权凭据, 将所述第二授权凭据发送至他 侧服务提供子系统的 0 Auth服务器以换取第二访问令牌;
所述资源获取模块, 配置为将第二访问令牌发送至他侧服务提供子 系 统的资源服务器进行认证, 在他侧服务提供子系统的资源服务器认证成功 后, 访问他侧服务提供子系统的资源服务器提供的 资源。
一种客户端, 设置于服务提供子系统中, 所述服务提供子系统还包括 OAuth服务器、 资源服务器, 该客户端包括: 临时凭据获取模块、 访问令 牌获取模块、 资源获取模块; 其中,
所述临时凭据获取模块, 配置为接收他侧服务提供子系统的 OAuth月良 务器发送的第一临时凭据, 并将所述第一临时凭据中的他侧服务提供子系 统的客户端标识改为本侧服务提供子系统的客 户端标识;
所述访问令牌获取模块, 配置为将修改后的第一临时凭据发送至用户 终端进行授权; 接收用户终端返回的第一授权凭据, 将所述第一授权凭据 发送至他侧服务提供子系统的 OAuth服务器以换取第一访问令牌;
所述资源获取模块, 配置为将第一访问令牌发送至他侧服务提供子 系 统的资源服务器进行认证, 在他侧服务提供子系统的资源服务器认证成功 后, 访问他侧服务提供子系统的资源服务器提供的 资源。
本发明实施例提供了一种双向授权方法, 该方法包括:
第一服务提供子系统获取第一服务提供子系统 的第一临时凭据、 第二 服务提供子系统的第二临时凭据; 将第二临时凭据发送至用户终端进行授 权, 得到第二授权凭据; 将第二授权凭据发送至第二服务提供子系统以 换 取第二访问令牌, 根据所述第二访问令牌获取第二服务提供子系 统中的资 源; 将第一临时凭据发送至第二服务提供子系统进 行标识修改;
第二服务提供子系统将修改后的第一临时凭据 发送至用户终端进行授 权, 得到第一授权凭据; 将第一授权凭据发送至第一服务提供子系统以 换 取第一访问令牌, 根据所述第一访问令牌获取第一服务提供子系 统中的资 源。
上述方案中, 所述第一服务提供子系统获取第一服务提供子 系统的第 一临时凭据、 第二服务提供子系统的第二临时凭据具体为: 第一服务提供 子系统中的第一客户端向第一服务提供子系统 中的第一 OAuth服务器、 第 二服务提供子系统中的第二 OAuth服务器分别发送请求临时凭据命令; 接 收第一 OAuth服务器、 第二 OAuth服务器返回的第一临时凭据、 第二临时 凭据。
上述方案中, 所述第一临时凭据的授权为: 输入第一服务提供子系统 的用户名和密码; 所述用户名和密码为用户终端在第一服务提供 子系统注 册的用户名和密码;
所述第二临时凭据的授权为: 输入第二服务提供子系统的用户名和密 码; 所述用户名和密码为用户终端在第二服务提供 子系统注册的用户名和 密码。
本发明实施例中的双向授权系统、 客户端及方法, 通过第一服务提供 子系统分别获取自身的第一临时凭据、 第二服务提供子系统的第二临时凭 据; 将第二临时凭据发送至用户终端进行授权, 并将授权后的第二授权凭 据发送至第二服务提供子系统以换取第二访问 令牌, 根据所述第二访问令 牌获取第二服务提供子系统中的资源; 将第一临时凭据发送至第二服务提 供子系统进行标识修改; 第二服务提供子系统将修改后的第一临时凭据 发 送至用户终端进行授权, 并将授权后的第一授权凭据发送至第一服务提 供 子系统以换取第一访问令牌, 根据所述第一访问令牌获取第一服务提供子 系统中的第一服务资源; 如此, 可以实现第一服务提供子系统访问第二服 务提供子系统的资源的同时, 第二服务提供子系统也可以访问第一服务提 供子系统的资源。 附图说明
图 1为本发明实施例双向授权系统结构组成示意 一;
图 2为本发明实施例双向授权系统结构组成示意 二;
图 3为本发明实施例双向授权系统中客户端结构 成示意图; 图 4为本发明实施例双向授权方法实现流程示意 。 具体实施方式
为了能够更加详尽地了解本发明实施例的特点 与技术内容, 下面结合 附图对本发明实施例的实现进行详细阐述, 所附附图仅供参考说明之用, 并非用来限定本发明实施例。
图 1为本发明实施例双向授权系统结构组成示意 一, 如图 1所示, 该系统包括: 第一服务提供子系统 11、 第二服务提供子系统 12、 用户终端 13; 其中,
所述第一服务提供子系统 11, 配置为分别获取第一服务提供子系统 11 的第一临时凭据、 第二服务提供子系统 12的第二临时凭据; 将第二临时凭 据发送至用户终端 13进行授权, 接收用户终端 13返回的第二授权凭据; 将第二授权凭据发送至第二服务提供子系统 12以换取第二访问令牌, 根据 所述第二访问令牌, 获取第二服务提供子系统 12中的资源; 以及, 将第一 临时凭据发送至第二服务提供子系统 12;
所述第二服务提供子系统 12,配置为接收第一服务提供子系统 11发送 的第一临时凭据, 并修改所述第一临时凭据中的标识; 将修改后的第一临 时凭据发送至用户终端 13进行授权; 接收用户终端 13返回的第一授权凭 据; 将第一授权凭据发送至第一服务提供子系统 11以换取第一访问令牌, 根据所述第一访问令牌, 获取第一服务提供子系统 11中的资源; 所述用户终端 13,配置为分别接收第一服务提供子系统 11发送的第二 临时凭据、 第二服务提供子系统 12发送的第一临时凭据; 分别对第二临时 凭据、 第一临时凭据进行授权, 将授权后的第二授权凭据、 第一授权凭据 分别发送至第一服务提供子系统 11、 第二服务提供子系统 12。
实际应用中, 所述双向授权系统中的第一服务提供子系统 11、 第二服 务提供子系统 12可由提供服务功能的服务器实现; 用户终端 13可由任意 形式的终端, 如手机、 电脑等实现。
图 2为本发明实施例双向授权系统结构组成示意 二, 如图 2所示, 第一服务提供子系统包括: 第一客户端 111、 第一 OAuth服务器 112、 第一 资源服务器 113; 第二服务提供子系统包括: 第二客户端 121、 第二 OAuth 服务器 122、 第二资源服务器 123; 其中,
所述第一客户端 111, 配置为向第一 OAuth服务器 112、 第二服务提供 子系统分别发送请求临时凭据命令; 接收第一 OAuth服务器 112、 第二服 务提供子系统分别返回的第一临时凭据、 第二临时凭据; 将第二临时凭据 发送至用户终端 13进行授权; 接收用户终端 13返回的第二授权凭据, 将 所述第二授权凭据发送至第二服务提供子系统 以换取第二访问令牌; 将第 二访问令牌发送至第二服务提供子系统进行认 证, 在第二服务提供子系统 认证成功后, 访问第二服务提供子系统提供的资源; 以及, 将第一临时凭 据发送至第二服务提供子系统;
这里, 所述向第二服务提供子系统发送请求临时凭据 命令, 接收第二 服务提供子系统返回的第二临时凭据具体为: 向第二服务提供子系统中的 第二 OAuth服务器 122发送请求临时凭据命令, 接收第二服务提供子系统 中的第二 OAuth服务器 122返回的第二临时凭据;
这里, 所述将第一临时凭据发送至第二服务提供子系 统进行客户端标 识修改具体为: 将第一临时凭据发送至第二服务提供子系统中 的第二客户 端 121进行客户端标识爹改;
这里, 所述将所述第二授权凭据发送至第二服务提供 子系统以换取第 二访问令牌具体为: 将所述第二授权凭据发送至第二服务提供子系 统中的 第二 OAuth服务器 122以换取第二访问令牌;
这里, 所述将第二访问令牌发送至第二服务提供子系 统进行认证, 在 第二服务提供子系统认证成功后, 访问第二服务提供子系统提供的第二服 务资源具体为: 将第二访问令牌发送至第二服务提供子系统中 的第二资源 服务器 123进行认证, 在第二服务提供子系统中的第二资源服务器 123认 证成功后, 访问第二服务提供子系统中的第二资源服务器 123提供的第二 服务资源;
所述第一 OAuth服务器 112,配置为接收第一客户端 111发送的请求临 时凭据命令, 并根据该命令返回第一临时凭据给第一客户端 111 ; 接收第二 服务提供子系统发送的第一授权凭据, 返回第一访问令牌给第二服务提供 子系统; 并将第一访问令牌发送至第一资源服务器 113作为认证依据; 这里, 所述第二服务提供子系统具体为第二服务提供 子系统中的第二 客户端 121 ;
所述第一资源服务器 113,配置为接收第二服务提供子系统发送的第 一 访问令牌, 并依据第一 OAuth服务器 112发送的第一访问令牌对所述第二 服务提供子系统发送的第一访问令牌进行认证 , 认证成功后提供第一服务 资源给第二服务提供子系统进行访问;
这里, 所述第二服务提供子系统具体为第二服务提供 子系统中的第二 客户端 121 ;
这里, 所述认证是: 将两个访问令牌进行对比, 如果两个访问令牌一 样, 则认证成功; 如果两个访问令牌不同, 则认证失败;
上述方案中, 所述请求临时凭据命令通过 OAuth协议定义的临时凭据 请求报文来承载, 所述报文携有客户端标识; 优选地, 由于第一服务提供 子系统发送的请求临时凭据命令, 因此所述请求临时凭据命令携有第一客 户端标识;
上述方案中, 所述第一临时凭据、 第二临时凭据通过 OAuth协议定义 的响应报文来传输, 所述报文携有第一客户端标识; 因此, 第一临时凭据 发送至第二客户端 121 时需将其携有的第一客户端标识修改为第二客 户端 标识;
上述方案中,所述临时凭据的请求与获取使用 超文本传输协议( HTTP, HyperText Transport Protocol ) 方式, 且使用需安全套接层 ( SSL, Secure Sockets Layer )或同安全级别的方式来保证临时凭据的安全 ;
上述方案中, 所述第二临时凭据的授权具体为: 输入第二服务提供子 系统的用户名和密码; 所述第一临时凭据的授权具体为: 输入第一服务提 供子系统的用户名和密码。
所述第二客户端 121,配置为接收第一服务提供子系统发送的第 一临时 凭据, 并将所述第一临时凭据中的第一客户端标识改 为第二客户端标识; 将修改后的第一临时凭据发送至用户终端 13 进行授权; 接收用户终端 13 返回的第一授权凭据, 将所述第一授权凭据发送至第一服务提供子系 统以 换取第一访问令牌; 将第一访问令牌发送至第一服务提供子系统进 行认证, 在第一服务提供子系统认证成功后, 访问第一服务提供子系统提供的第一 服务资源;
这里, 所述接收第一服务提供子系统发送的第一临时 凭据具体为: 接 收第一服务提供子系统中的第一客户端 111发送的第一临时凭据;
这里, 所述将第一授权凭据发送至第一服务提供子系 统以换取第一访 问令牌具体为:将第一授权凭据发送至第一服 务提供子系统中的第一 OAuth 服务器 112以换取第一访问令牌; 这里, 所述将第一访问令牌发送至第一服务提供子系 统进行认证, 在 第一服务提供子系统认证成功后, 访问第一服务提供子系统提供的第一服 务资源具体为: 将第一访问令牌发送至第一服务提供子系统中 的第一资源 服务器 113进行认证, 在第一服务提供子系统中的第一资源服务器 113认 证成功后, 访问第一服务提供子系统中的第一资源服务器 113 提供的第一 服务资源;
所述第二 OAuth服务器 122, 配置为接收第一服务提供子系统发送的 请求临时凭据命令, 并根据该命令返回第二临时凭据给第一服务提 供子系 统; 接收第一服务提供子系统发送的第二授权凭据 , 返回第二访问令牌给 第一服务提供子系统, 并将所述第二访问令牌发送至第二资源服务器 123 作为认证依据;
这里, 所述第一服务提供子系统具体为第一服务提供 子系统中的第一 客户端 111 ;
所述第二资源服务器 123,配置为接收第一服务提供子系统发送的第 二 访问令牌, 并根据第二 OAuth服务器 122发送的第二访问令牌对第一服务 提供子系统发送的第二访问令牌进行认证, 认证成功后提供第二服务资源 给第一服务提供子系统进行访问;
这里, 所述第一服务提供子系统具体为第一服务提供 子系统中的第一 客户端 111。
上述方案中, 所述第一临时凭据是第一客户端对第一资源服 务器的临 时凭据; 第二临时凭据是第一客户端对第二资源服务器 的临时凭据; 对第 一临时凭据进行客户端标识修改之后, 第一临时凭据变为第二客户端对第 一资源服务器的临时凭据; 相应的, 第一授权凭据为第二客户端对第一资 源服务器的授权凭据; 第二授权凭据为第一客户端对第二资源服务武 器的 授权凭据; 相应的, 第一访问令牌为第二客户端对第一资源服务器 的访问 令牌; 第二访问令牌为第一客户端对第一客户端对第 二资源服务器的访问 令牌;
上述方案以第一服务提供子系统为发起侧服务 提供子系统, 第二服务 提供子系统为接收侧服务提供子系统; 实际应用中, 也可以以第二服务提 供子系统为发起侧服务提供子系统, 以第一服务提供子系统为接收侧服务 提供子系统; 相应的, 第二服务提供子系统所包括的第二客户端 121、 第二 OAuth服务器 122、 第二资源服务器 123 分别执行第一客户端 111、 第一 OAuth服务器 112、 第一资源服务器 113所执行的功能; 第一服务提供子系 统所包括的第一客户端 111、 第一 OAuth服务器 112、 第一资源服务器 113 分别执行第二客户端 121、 第二 OAuth服务器 122、 第二资源服务器 123所 执行的功能。
实际应用中, 所述第一服务提供子系统中的第一客户端 111、 第一 OAuth服务器 112可由第一服务提供子系统中的中央处理器( CPU, Central Processing Unit )、 或数字信号处理器 ( DSP, Digital Signal Processor ), 或 可编程门阵列 (FPGA, Field - Programmable Gate Array ) 实现; 第一资源 服务器 113可由第一服务提供子系统中的存储器实现。
所述第二服务提供子系统中的第二客户端 121、第二 OAuth服务器 122 可由第二服务提供子系统中的 CPU、 或 DSP、 或 FPGA实现; 第二资源服 务器 123可由第二服务提供子系统中的存储器实现。
图 3 为本发明实施例双向授权系统中客户端结构组 成示意图, 该客户 端设置于服务提供子系统中, 所述服务提供子系统包括客户端、 OAuth月良 务器、 资源服务器; 所述客户端包括: 临时凭据获取模块 31、 访问令牌获 取模块 32、 资源获取模块 33; 其中, 客户端为发起侧的客户端时,
所述临时凭据获取模块 31, 配置为向本侧服务提供子系统的 OAuth月良 务器、 他侧服务提供子系统的 OAuth服务器分别发送请求临时凭据命令; 接收本侧服务提供子系统的 OAuth服务器、 他侧服务提供子系统的 OAuth 服务器分别返回的第一临时凭据、 第二临时凭据; 将第一临时凭据发送至 他侧服务提供子系统的客户端;
所述访问令牌获取模块 32, 配置为将第二临时凭据发送至用户终端进 行授权; 接收用户终端返回的第二授权凭据, 将所述第二授权凭据发送至 他侧服务提供子系统的 OAuth服务器以换取第二访问令牌;
所述资源获取模块 33, 配置为将第二访问令牌发送至他侧服务提供子 系统的资源服务器进行认证, 在他侧服务提供子系统的资源服务器认证成 功后, 访问他侧服务提供子系统的资源服务器提供的 资源;
客户端为接收侧的客户端时,
所述临时凭据获取模块 31, 配置为接收他侧服务提供子系统的 OAuth 服务器发送的第一临时凭据, 并将所述第一临时凭据中的他侧服务提供子 系统的客户端标识改为本侧服务提供子系统的 客户端标识;
所述访问令牌获取模块 32, 配置为将修改后的第一临时凭据发送至用 户终端进行授权; 接收用户终端返回的第一授权凭据, 将所述第一授权凭 据发送至他侧服务提供子系统的 OAuth服务器以换取第一访问令牌;
所述资源获取模块 33, 配置为将第一访问令牌发送至他侧服务提供子 系统的资源服务器进行认证, 在他侧服务提供子系统的资源服务器认证成 功后, 访问他侧服务提供子系统的源服务器提供的资 源。
实际应用中, 所述客户端中的临时凭据获取模块 31、 访问令牌获取模 块 32、 资源获取模块 33可由客户端中的 CPU、 或 DSP、 或 FPGA实现。
图 4为本发明实施例双向授权方法实现流程示意 , 如图 4所示, 该 方法包括步骤:
步骤 401:第一服务提供子系统获取第一服务提供子 系统的第一临时凭 据、 第二服务提供子系统的第二临时凭据; 将第二临时凭据发送至用户终 端进行授权, 得到第二授权凭据; 将第二授权凭据发送至第二服务提供子 系统以换取第二访问令牌, 根据所述第二访问令牌获取第二服务提供子系 统中的资源; 将第一临时凭据发送至第二服务提供子系统进 行标识修改; 这里, 所述第一服务提供子系统获取第一服务提供子 系统的第一临时 凭据、 第二服务提供子系统的第二临时凭据具体为: 第一服务提供子系统 中的第一客户端向第一服务提供子系统中的第 一 OAuth服务器、 第二服务 提供子系统中的第二 OAuth服务器分别发送请求临时凭据命令; 接收第一 OAuth服务器、 第二 OAuth服务器返回的第一临时凭据、 第二临时凭据; 上述方案中, 所述请求临时凭据命令通过 OAuth协议定义的报文来实 现, 所述报文携有客户端标识; 优选地, 由于第一服务提供子系统发送的 请求临时凭据命令, 因此所述请求临时凭据命令携有第一客户端标 识, 如 dpf43fip214k3103;
上述方案中, 所述第一临时凭据、 第二临时凭据通过 OAuth协议定义 的响应报文来传输; 所述响应报文携有第一客户端标识和第一临时 凭据、 或第一客户端标识和第二临时凭据, 如 hh5s93j4hdidpola;
上述方案中,所述临时凭据的请求与获取使用 HTTP方式,且使用 SSL 或同安全级别的方式传输来保证临时凭据的安 全性;
上述方案中, 第二临时凭据的授权具体为: 输入第二服务提供子系统 的用户名和密码; 所述用户名和密码为用户终端在第二服务提供 子系统注 册的用户名和密码;
上述方案中, 所述根据所述第二访问令牌获取第二服务提供 子系统中 的第二服务资源具体包括: 将第二访问令牌发送至第二服务提供子系统进 行认证, 在第二服务提供子系统认证成功后, 访问第二服务提供子系统提 供的第二服务资源;
这里, 所述第一临时凭据携有第一客户端标识; 因此, 第一临时凭据 发送至第二客户端时需将其携有的第一客户端 标识修改为第二客户端标 识。
步骤 402:第二服务提供子系统将修改后的第一临时 据发送至用户终 端进行授权, 得到第一授权凭据; 将第一授权凭据发送至第一服务提供子 系统以换取第一访问令牌, 根据所述第一访问令牌获取第一服务提供子系 统中的资源;
上述方案中, 所述第一临时凭据的授权具体为: 输入第一服务提供子 系统的用户名和密码; 所述用户名和密码为用户终端在第一服务提供 子系 统注册的用户名和密码。
上述方案以第一服务提供子系统为发起侧服务 提供子系统, 第二服务 提供子系统为接收侧服务提供子系统; 实际应用中, 也可以以第二服务提 供子系统为发起侧服务提供子系统, 以第一服务提供子系统为接收侧服务 提供子系统; 相应的, 第二服务提供子系统执行步骤 301 ; 第一服务提供子 系统执行步骤 402。
下面结合具体实施例对本发明提出的双向授权 方法做进一步详细说 明。
假设视频网站和微博网站是本发明实施例中的 两个服务提供子系统, 用户终端在视频网站注册了用户名和密码, 在微博网站也注册了用户名和 密码; 视频网站和微博网站都包含各自的客户端、 OAuth服务器以及资源 服务器; 视频网站侧的资源服务器配置为存储用户终端 的视频资源, 微博 网站侧的资源服务器配置为存储用户终端的微 博资源;
当用户终端将其在视频网站的资源分享至微博 网站的同时, 也将其微 博网站的资源分享至视频网站时, 微博网站侧的客户端需向微博网站侧的 OAuth服务器以及视频网站侧的 OAuth服务器发送请求临时凭据命令; 微 博网站侧的 OAuth服务器返回第一临时凭据给微博网站侧的 户端, 视频 网站侧的 OAuth服务器返回第二临时凭据给微博网站侧的 户端; 微博网 站侧的客户端将所述第二临时凭据发送给用户 终端, 提示配置为终端输入 用户名和密码; 用户终端输入其在视频网站所注册的用户名和 密码后, 返 回第二授权凭据至微博网站侧的客户端, 微博网站侧的客户端将所述第二 授权凭据发送至视频网站侧的 OAuth服务器以换取第二访问令牌; 如此, 微博网站侧的客户端可以通过所述第二访问令 牌对视频网站侧的资源进行 分享; 与此同时, 微博网站侧的客户端将第一临时凭据发送至视 频网站侧 的客户端; 视频网站侧的客户端对第一临时凭据修改后将 其发送至用户终 端, 并提示用户终端输入用户名和密码; 用户终端输入其在微博网站所注 册的用户名和密码后, 返回第一授权凭据至视频网站侧的客户端, 视频网 站侧的客户端将所述第一授权凭据发送至微博 网站侧的 OAuth服务器以换 取第一访问令牌; 如此, 视频网站侧的客户端可以通过所述第一访问令 牌 对微博网站侧的资源进行分享;
综上所述, 通过本发明实施例的双向授权方法, 用户终端可以将视频 网站的资源分享至微博网站的同时, 也将其微博网站的资源分享至视频网 站。
以上所述, 仅为本发明的较佳实施例而已, 并非用于限定本发明的保 护范围。
Next Patent: EXPANDED TOBACCO STEM PREPARATION METHOD