我正在研究Oauth2,允许开发者授权其应用的用户使用我的服务。我发现了一些资源,说我的授权服务器应该在用户发送一个断言(我的情况是JWT)时返回一个访问令牌,但它不应该返回一个刷新令牌。我想知道返回刷新令牌有什么危害。开发人员可以通过调用一个Api来使刷新/访问令牌无效,这会使从特定JWT ID中授予的访问无效。Oauth2断言授权:为什么不刷新令牌?
1
A
回答
1
该建议不正确。刷新令牌是可选的,并且可以在客户端颁发授权许可后由授权服务器酌情发布。见Oauth2 specification
1.5刷新令牌
刷新令牌用于获得访问令牌凭据。刷新 令牌由授权服务器发布给客户端,并且当当前访问令牌 变得无效或过期时获取新的访问令牌,或者获得具有相同或更窄范围的其他访问令牌012xx(访问令牌可能具有生命周期较短且权限较资源 拥有者授权更少)。 由 授权服务器决定是否可选发布刷新令牌。如果授权服务器发出刷新令牌,则在发出访问令牌(即图1中的 中的步骤(D))时包括该令牌。
相关问题
- 1. Google API OAuth2 - 从授权令牌获取刷新令牌
- 2. OAuth2使用授权代码刷新令牌的目的
- 3. Spring - oauth2 - 刷新和访问令牌的交换授权码
- 4. 刷新从YouTube的Office365授权令牌
- 5. 如何刷新LinkedIn授权令牌
- 6. 刷新访问令牌后弹出OAuth2刷新令牌
- 7. 使用Spring oAuth2 impl,是否可以在刷新令牌授权期间“降级”访问令牌的范围?
- 8. Cookie中的OAuth2刷新令牌
- 9. Android中的Oauth2刷新令牌续订
- 10. 刷新oauth2令牌谷歌API和HWIOAuthBundle
- 11. Google OAuth2使用JavaScript刷新令牌
- 12. 在Google Drive(OAuth2)中刷新令牌python
- 13. Google Oauth2 API - 无刷新令牌
- 14. 不记名令牌授权
- 15. 授权令牌值
- 16. OWIN安全 - OAuth2刷新令牌 - 如何包含刷新令牌的过期
- 17. 谷歌的OAuth:无法获取刷新令牌与授权码
- 18. 强制谷歌通过python社交授权刷新令牌
- 19. Keycloak刷新令牌未授权的asp.net内核
- 20. VK Api - 应用程序授权失败:刷新服务令牌
- 21. IdentityServer4刷新令牌无效授予
- 22. 为什么Google OAuth2需要客户端密钥并刷新令牌才能获取访问令牌?
- 23. “刷新令牌”的用途是什么?
- 24. 为什么刷新令牌不适用于bigquery API?
- 25. 为什么JLabel不断重新粉刷?
- 26. Oauth2令牌游戏场交换授权码:400错误
- 27. 在授权春OAuth2-传递令牌:承载
- 28. EnableResourceServer中断oAuth2授权服务器
- 29. OAuth2授权
- 30. OAuth2 refresh_token授权
在[RFC7521](https://tools.ietf.org/html/rfc7521)中,刷新标记没有用,如[4.1节]中所述(https://tools.ietf.org/html /rfc7521#section-4.1):*客户可以通过请求使用相同断言的新的访问令牌来刷新过期的访问令牌,如果它仍然有效或者有新的断言。* –
我不同意它没用。我正在考虑一个客户在一段时间不活动后醒来。该客户端必须向其应用服务器请求JWT,然后将该JWT换成访问令牌。这是2轮往返1次往返。也许这不是什么大不了的事情,但这里有一个不可忽略的性能影响。 – Mustack
这是无用的,因为客户端可以通过发送相同的断言(如果没有过期)或创建新的断言来刷新它。由于它通常在客户端生成,因此这是一轮。 –