有關access_token與refresh_token 理解

下面是對接各種平臺api的流程

一般操作流程是下面的

1始通過用戶授權獲取code ,

2 然後通過code 獲取到  access_token 和 refresh_token     

3 訪問api 必須攜帶  access_token

 

舉例

access_token :aaaa
expires_in :10分鐘
refresh_token  :   bbb
refresh_expires_in  : 1小時

就是用戶登錄成功後 10分鐘後 access_token就失效了,不能再做操作平臺數據,如果要訪問平臺就是要重新 access_token。

如果沒有 refresh_token  ,那麼我們必須重新走 上面1,2,3 三個步驟,獲取新的 access_token。

有了refresh_token ,在上面一個小時之內。我們就可以用refresh_token  直接獲取新的access_token。這樣就省略了用戶授權。

一小時後refresh_token失效了,則需要用戶授權獲得code ,再通過code 獲取  access_token

https://open.taobao.global/doc/doc.htm#?nodeId=28905&docId=119487

通過 「/auth/token/refresh」 返回的數據結構與通過授權代碼獲取訪問權限返回的數據結構相同。您將獲得新的「access_token」和「refresh_token」。您必須保存最新的「refresh_token」以獲取新的「access_token」。請注意,access_token 的時長會被重置,但 refresh_token 的時長不會被重置。refresh_token 過期後,賣家需要重新授權您的應用程式來生成新的 access_token 和 refresh_token。

注意事項:
- 在 Refresh Token 過期前,賣家不需要再次授權。
- 如果 「refresh_expires_in」= 0,則無法刷新 Access Token。只有當 「refresh_expires_in」> 0時,纔可以呼叫/auth/token/refresh API 來刷新 access token。
- 如果需要更新 Access Token,建議在 Access Token 過期前 30 分鐘進行刷新。

https://open.taobao.global/doc/doc.htm#?nodeId=30660&docId=120906

 

 

Access Token和Refresh Token是OAuth 2.0授權協議中的兩個關鍵概念。

Access Token(訪問令牌)是用於訪問受保護資源的令牌。當用戶通過OAuth 2.0授權流程進行認證後,授權服務器會頒發一個Access Token給客戶端應用程序。這個令牌通常具有短暫的有效期,
例如1小時。客戶端應用程序使用Access Token來向資源服務器發送請求並獲取用戶的數據。

Refresh Token(刷新令牌)是用於更新AccessToken的令牌。在OAuth 2.0授權過程中,授權服務器除了頒發Access Token外,還會頒發一個Refresh Token給客戶端應用程序。
Refresh Token通常具有更長的有效期,例如30天或更久。客戶端應用程序可以使用Refresh Token向授權服務器請求新的Access Token,而無需再次請求用戶的授權。
這使得客戶端應用程序在Access Token過期之後可以自動獲取新的Access Token,從而實現持續的訪問。

簡而言之,Access Token用於臨時訪問受保護的資源,Refresh Token用於獲取新的Access Token,以延長訪問權限。它們一起提供了安全和可控的訪問機制,
同時允許用戶在一定時間範圍內授予應用程序訪問權限,而無需頻繁輸入憑據。

參考:https://juejin.cn/post/6844904180470022151

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章