OAuth2.0
简介
OAuth是一个关于授权(authorization)的开放网络标准,在全世界得到广泛应用,目前的版本是2.0。主要用来解决用户授权及安全性的问题
##名词解释
Third-party application: 第三方应用,即需要用户授权的应用程序。
HTTP service: HTTP服务提供商,即存放用户资源的服务商家。
Resource Owner: 资源所有者。
User agent: 用户代理,一般就是浏览器。
Authorization server: 认证服务器,服务厂商用来处理认证的服务器。
Resource server: 资源服务器,存放资源的服务器。
Oauth2.0运行流程
(A)用户打开客户端以后,客户端要求用户给予授权。
(B)用户同意给予客户端授权。
(C)客户端使用上一步获得的授权,向认证服务器申请令牌。
(D)认证服务器对客户端进行认证以后,确认无误,同意发放令牌。
(E)客户端使用令牌,向资源服务器申请获取资源。
(F)资源服务器确认令牌无误,同意向客户端开放资源。
客户端的授权模式
在上面的授权访问资源步骤之中,怎么给客户授权是关键,OAuth2.0定义了四种授权方式。
授权码模式:指的是第三方应用先申请一个授权码,然后再用该码获取令牌。
隐藏式: 纯we b前端应用,允许直接向前端颁发令牌。
密码式:允许用户把用户名和密码,直接告诉该应用。该应用就使用你的密码,申请令牌,这种方式称为”密码式”。
凭证式:适用于没有前端的命令行应用,即在命令行下请求令牌。
以上就是OAuth2.0的大致流程及关键步骤,详情见 阮一峰博客