OAuth2.0 了解吗¶
一、是什么¶
授权框架,让第三方应用不用密码就能访问用户数据。
二、四个角色¶
- Resource Owner:用户。
- Client:第三方应用。
- Authorization Server:授权服务器。
- Resource Server:资源服务器。
三、四种授权模式¶
1. 授权码模式(最常用)¶
网站登录用(微信、GitHub 登录)。
2. 简化模式¶
前端直接拿 token。
3. 密码模式¶
用户给第三方账号密码。
4. 客户端模式¶
客户端自己拿 token。
四、Token¶
- access_token:访问令牌。
- refresh_token:刷新令牌。
五、例子¶
- 微信登录:第三方跳微信,用户同意,拿 code,换 token。
- GitHub OAuth:用 GitHub 账号登录其他网站。
六、Spring Security OAuth2¶
Spring 提供完整实现。
一句话
OAuth2 = 第三方授权,不用给密码。