GitHub CLI限時OAuth預覽:檢查權杖副本的壽命

Dev
瀏覽 8

CLI仍維持登入,昨天啟動的輔助指令碼卻失敗了。它是否還留著舊權杖?GitHub於2026年10月21日公布的預覽提醒團隊,先整理憑證流向。

檢查示意圖:分別確認CLI更新、外部副本與使用操作。並非產品截圖或效能測試。
檢查示意圖:分別確認CLI更新、外部副本與使用操作。並非產品截圖或效能測試。

已確認變更:主動選用可更新憑證

自v2.103.0起,gh auth login --expiring可要求可更新憑證。gh儲存限時access token與輪替的refresh token。既有登入及手動權杖行為不變。github.com、ghe.com與GHES 3.23以上支援;不支援的伺服器可能傳回無期限權杖。應透過gh auth status確認實際狀態。

複製的字串不會自行更新

GitHub提醒,一次取得gh auth token結果後長期重用的指令碼可能遇到到期問題。外部使用端應在需要時重新取得。啟動時讀取成功不能證明後續步驟仍有效。refresh token外洩也有風險,短效期不能取代最小權限與撤銷機制。

團隊可採用的檢查順序

記錄版本、主機與將權杖複製到檔案、環境變數或擴充功能的使用端。只記管理者與重新取得時點,不收集秘密值。在測試環境比較啟動後及一段時間後的相同讀取操作,區分到期、權限與網路問題。HTTPS git可評估gh auth setup-git與git 2.46以上的官方建議。實際設定變更應另行審查。

部分路徑應先調整再採用

若整合依賴長期有效的權杖,官方也建議暫緩該流程的參與。記錄負責人與複查日期,避免無限擱置。不要把開發者OAuth與CI的GITHUB_TOKEN混為一談。一個選項無法統一所有自動化的權限、效期與撤銷方式。再次確認安裝版本的支援範圍。

開發者常說的「維持登入」需要拆成兩個問題:管理工具能否更新,使用端能否取得新值?本文沒有測量社群故障率。畫出一條真實使用路徑,有助於釐清快取所有者及小範圍試驗的邊界。

官方來源與進一步檢查

GitHub Changelog · Expiring OAuth preview

GitHub Docs · CLI authentication

團隊文件只記錄版本、主機、快取管理者、取得時點與結果,不記錄秘密值。