iT邦幫忙

2022 iThome 鐵人賽

DAY 12
0
自我挑戰組

Identity Management 系列 第 12

12 - OAuth (6) access token & refresh token

  • 分享至 

  • xImage
  •  

在前幾天不同的授權方式的流程當中,可以看到 access token 和 refresh token 的出現。

Access token 顧名思義,就是能夠讓使用者或系統存取資源的通行證,然而這個通行證本身會有個有效期限,針對越重要或機密的資源,其有效期限就會越短,以降低 token 暴露的風險。

然而如果同一位使用者持續使用某個系統,每當 access token 過期,就需要重新走過一次驗證流程,從系統本身的使用者體驗角度來說,並不是一個理想的作法。因此,這時候就需要 refresh token 的協助。

Refresh Token 顧名思義,就是拿來「更新」的通行證。而這裡需要更新的東西,其實就是 access token。所以當 Client 發現 access token 快要過期或已過期時,就可以帶著 refresh token 向 Authorization server 重新索取 access token。如此一來,使用者體驗就不會一直被不斷出現的驗證流程給破壞。

Refresh token 本身也是有個有效期限,不過通常這個期限會比 access token 還要來得長,也因此 Client 可以在 access token 快要過期或已過期的時候使用 refresh token。

另一方面,refresh token 本身也可以實行 "rotation" 的機制,也就是每次使用 refresh token 拿到新的 access token 後,Authorization server 會換發 refresh token,以降低同樣的 refresh token 被他人取得使用,提升系統的安全性。


上一篇
11 - OAuth (5) Client credentials grant
下一篇
13 - OpenID (1) - Problem to solve, Roles and Flows
系列文
Identity Management 31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言