跳转至

OAuth2.0 了解吗

一、是什么

授权框架,让第三方应用不用密码就能访问用户数据。

二、四个角色

  • Resource Owner:用户。
  • Client:第三方应用。
  • Authorization Server:授权服务器。
  • Resource Server:资源服务器。

三、四种授权模式

1. 授权码模式(最常用)

用户 → 第三方 → 授权服务器 → 授权码 → 第三方 → access_token

网站登录用(微信、GitHub 登录)。

2. 简化模式

前端直接拿 token。

3. 密码模式

用户给第三方账号密码。

4. 客户端模式

客户端自己拿 token。

四、Token

  • access_token:访问令牌。
  • refresh_token:刷新令牌。

五、例子

  • 微信登录:第三方跳微信,用户同意,拿 code,换 token。
  • GitHub OAuth:用 GitHub 账号登录其他网站。

六、Spring Security OAuth2

Spring 提供完整实现。

一句话

OAuth2 = 第三方授权,不用给密码。