前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >4.Spring Security oAuth2-令牌的访问与刷新

4.Spring Security oAuth2-令牌的访问与刷新

作者头像
用户1212940
发布2020-02-14 17:32:23
2.1K0
发布2020-02-14 17:32:23
举报
文章被收录于专栏:Lambda

令牌的访问与刷新

Access Token

Access Token 是客户端访问资源服务器的令牌。拥有这个令牌代表着得到用户的授权。然而,这个授权应该是 临时 的。这是因为,Access Token 在使用的过程中 可能会泄漏。给 Access Token 限定一个 较短的有效期 可以降低因 Access Token 泄漏带来的风险。

然而引入了有效期之后,客户端使用起来就不那么方便了。每当 Access Token 过期,客户端就必须重新向用户索要授权。这样用户可能每个几天,甚至每天都需要进行授权操作。这是一件非常影响用户体验的事情。希望有一种方法,可以避免这种情况。

于是 OAuth2.0 引入了 Refresh Token 机制。

Refresh Token

Refresh Token 的作用是用来刷新 Access Token。认证服务器提供一个刷新接口,例如:

代码语言:javascript
复制
http://www.pyy.com/refresh?refresh_token=&client_id=

传入 refresh_tokenclient_id,认证服务器验证通之后,返回一个新的 Access Token。为了安全, OAuth2.0 引入了两个措施:

  • OAuth2.0 要求,Refresh Token 一定要保持在客户端的服务器上,而绝不能放在狭义的客户端(如App 、PC端软件)上。调用 refresh 接口的时候,一定是从服务器到服务器的访问。
  • OAuth2.0 引入了 client_secret 机制。即每一个 client_id 都对应一个 cleint_secret。这个 client_secret 会在客户端申请 client_id 时,随着 client_id 一起分配给客户端。客户端必须把这个client_secret 妥善保管在服务器上,绝不能泄漏。刷新 Access Token 时,需要验证这个 client_secret合法性。

实际上的刷新接口类似于:

代码语言:javascript
复制
http://www.pyy.com/refresh?refresh_token=&client_id=&client_secret=

以上就是 Refresh Token 机制。Refresh Token 的有效期非常长,会在用户授权时,随 Access Token 一起重定向到回调 URL,传递给客户端。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 令牌的访问与刷新
    • Access Token
      • Refresh Token
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档