跳至內容
Astera Technology

多個程序同時更新 OAuth 權杖,怎樣避免互相蓋過

新權杖要一併保存,其他程序讀取已完成的新版本,不各自把舊憑證送出。

記憑證版本,不記權杖原文

OAuth 2.0 可在更新回覆中提供新的更新權杖;有新值時,客戶端須取代舊值。供應商輪替及重用規則各有不同。例子由一個程序取得更新權,存取及更新憑證參考一起保存為新版本。

假設同時更新記錄
程序觀察處理
A版本 7 存取權杖到期,更新憑證按規格仍可用;A 取得更新權更新一次並保存版本 8
B版本 7 存取權杖到期,A 正在更新有限等候,再讀憑證版本
A 收到新的更新權杖回覆規格要求取代兩項參考都保存後才釋放更新權
下載可編輯 CSV ↓

更新結果未明時先查可用狀態

更新權要有期限或相應恢復設計,避免程序中斷便永遠鎖住。回覆遺失後,舊權杖可能按供應商規則已失效,不能無限重試。保留不含秘密的錯誤資料,需要時按支援的方法重新授權。

已存版本 8 後,程序 B 才收到較舊更新回覆,可以覆蓋嗎?

查看參考答案

不應。比較原本預期的憑證版本,拒絕舊版本覆蓋。另查該回覆是否已改變供應商狀態,不能只靠本地先後判定權杖有效。

相關資源