我正在研究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
這是無用的,因爲客戶端可以通過發送相同的斷言(如果沒有過期)或創建新的斷言來刷新它。由於它通常在客戶端生成,因此這是一輪。 –