用戶端 ID、用戶端密鑰的管理
用戶端ID
密鑰
驗證
應用程式登錄
本文的對象
適用於 ReceiptRoller 的應用程式登錄後,想安全管理憑證的開發者。
適用於 ReceiptRoller 的應用程式登錄後,想安全管理憑證的開發者。
在 ReceiptRoller 的 OAuth 驗證中,會使用每個應用程式所發行的用戶端 ID 與用戶端密鑰的配對。用戶端 ID 是即使公開也沒問題的識別碼,但用戶端密鑰是相當於密碼的機密資訊。
取得方法
- 開發者入口 → 應用程式 → 開啟目標應用程式
- 「憑證」分頁
- 會顯示用戶端 ID(可複製)
- 用戶端密鑰僅在初次發行時顯示。之後需要重新產生
用戶端 ID 與密鑰的差異
| 項目 | 用戶端 ID | 用戶端密鑰 |
|---|---|---|
| 可否公開 | 可公開 | 不可公開 |
| 角色 | 應用程式的識別 | 應用程式的驗證 |
| 用戶端側程式碼 | 可含入 | 絕對不可(僅伺服器端) |
| URL 參數 | 可含入 | 絕對不可 |
保管規則
- 保管於環境變數或密鑰管理服務(AWS Secrets Manager、Azure Key Vault、GCP Secret Manager 等)
- 不直接寫入原始碼(混入 git 後,儲存庫外洩時就完了)
- 正式/預備/開發使用不同的密鑰
- 存取權限僅授予正式環境的服務帳戶
- 不含入日誌、錯誤輸出
外洩時的因應
緊急時的步驟:懷疑密鑰外洩時,請立即在開發者入口重新產生。舊密鑰會失效。
- 開發者入口 → 應用程式 → 憑證 → 「重新產生密鑰」
- 將新密鑰安全保管
- 更新正式環境的環境變數並部署
- 選擇舊密鑰的「立即失效」或「24 小時後失效」
- 在稽核日誌確認是否有不當使用
多環境的運用
建議務必分開登錄正式應用程式與開發應用程式。讓一個應用程式兼負多環境,會有開發時的不相容影響到正式使用者的風險。
正式應用程式:MyApp Production → 用戶端 ID: prod_xxx → 密鑰: 正式的密鑰管理服務 開發應用程式:MyApp Dev → 用戶端 ID: dev_xxx → 密鑰: 開發者各自的 .env
相關指南
發布日: 2026-04-27
更新日: 2026-07-06