Open waltcow opened 6 years ago
A厂有一套HTTP接口需要提供给B厂使用,由于是外网环境,那么就需要有一套安全机制保障 oauth2 就可以作为一个方案
oauth2
Third-party application:第三方应用程序,又称"客户端"(client)
HTTP service:HTTP服务提供商,
Resource Owner:资源所有者, 又称"用户"(user)
User Agent:用户代理,本文中就是指浏览器。
Authorization server:认证服务器,即服务提供商专门用来处理认证的服务器。
Resource server:资源服务器,即服务提供商存放用户生成的资源的服务器。它与认证服务器,可以是同一台服务器,也可以是不同的服务器。
RFC 6749
(A)用户打开客户端以后,客户端要求用户给予授权。
(B)用户同意给予客户端授权。
(C)客户端使用上一步获得的授权,向认证服务器申请令牌。
(D)认证服务器对客户端进行认证以后,确认无误,同意发放令牌。
(E)客户端使用令牌,向资源服务器申请获取资源。
(F)资源服务器确认令牌无误,同意向客户端开放资源。
Oauth2 的使用场景
A厂有一套HTTP接口需要提供给B厂使用,由于是外网环境,那么就需要有一套安全机制保障
oauth2
就可以作为一个方案相关用户概念
Third-party application:第三方应用程序,又称"客户端"(client)
HTTP service:HTTP服务提供商,
Resource Owner:资源所有者, 又称"用户"(user)
User Agent:用户代理,本文中就是指浏览器。
Authorization server:认证服务器,即服务提供商专门用来处理认证的服务器。
Resource server:资源服务器,即服务提供商存放用户生成的资源的服务器。它与认证服务器,可以是同一台服务器,也可以是不同的服务器。
OAuth 2.0的运行流程
如下图,摘自
RFC 6749
(A)用户打开客户端以后,客户端要求用户给予授权。
(B)用户同意给予客户端授权。
(C)客户端使用上一步获得的授权,向认证服务器申请令牌。
(D)认证服务器对客户端进行认证以后,确认无误,同意发放令牌。
(E)客户端使用令牌,向资源服务器申请获取资源。
(F)资源服务器确认令牌无误,同意向客户端开放资源。