OAuth 刷新令牌如何在客户端工作?
Posted
技术标签:
【中文标题】OAuth 刷新令牌如何在客户端工作?【英文标题】:How OAuth Refresh Token works at client side? 【发布时间】:2021-04-11 06:40:54 【问题描述】:我已经实现了 Spring Oauth 2 服务器并为我的一项服务添加了授权。 我想明白, 当我击球时:
localhost:9191/oauth/token?grant_type=password&username=krish&password=kpass
我收到这样的回复:
"access_token": "24a20377-2ce7-4c6c-a65c-87adf443854b",
"token_type": "bearer",
"refresh_token": "39da80da-83bb-49e1-8e6a-8432428637ad",
"expires_in": 59,
"scope": "READ WRITE"
我正在使用相同的 access_token 来验证我的客户端,如下所示:
localhost:8080/getName
Adding header :
Authorization : bearer 24a20377-2ce7-4c6c-a65c-87adf443854b
所以我的问题是在 60 秒(到期时间)之后,我的客户将如何在刷新令牌的帮助下获得新令牌? (我假设客户在同一个会话中)。 spring 是用它的库在内部处理它还是我们需要在服务器中添加的任何东西? 请帮忙!
【问题讨论】:
【参考方案1】:客户端将发送 Refresh Token Grant 消息,如this article 中所述。在 OAuth 中,授予是获得令牌的原因:
您已实施上述密码授予 大多数 UI 在用户登录后使用授权码授予 当访问令牌过期时,刷新令牌授予用于静默更新Grant 消息通常是对令牌端点的 POST 请求。大多数人使用现成的授权服务器为您处理它们,因此您不必自己编写代码。
【讨论】:
所以客户端会自动点击 HttpResponse以上是关于OAuth 刷新令牌如何在客户端工作?的主要内容,如果未能解决你的问题,请参考以下文章
尝试使用spring oauth2中的刷新令牌获取新的访问令牌时出现无效的客户端错误
在 Spring Boot OAuth2RestOperations 中刷新 OAuth 令牌