什么是oauth2
oauth2是一个授权机制,用来授权第三方应用,获取用户数据。
OAuth2角色
oauth2定义了四个角色
- 资源所有者 - 应用程序的用户。
- 客户端 - 需要访问资源服务器上的用户数据的应用程序。
- 资源服务器 - 存储用户数据和http服务,可以将用户数据返回给经过身份验证的客户端。
- 授权服务器 - 负责验证用户的身份并提供授权令牌。资源服务器接受此令牌并验证您的身份。
OAuth2的交互过程:
oauth2的授权方式
oauth2的授权方式:授权码(authorization_code)、隐藏式(implicit)、密码(password)、客户端凭证(client_credentials)
授权码
步骤如下
1、获取授权码
2、通过授权码获取token
隐藏式
有些 Web 应用是纯前端应用,没有后端。这时就不能用上面的方式了,必须将令牌储存在前端。RFC 6749 就规定了第二种方式,允许直接向前端颁发令牌。这种方式没有授权码这个中间步骤,所以称为(授权码)"隐藏式"(implicit)。
密码
通过用户名和密码获取token
客户凭证