跳至主要內容

旋轉簽署金鑰 (OSS)

備註:

如果你使用的是 Logto Cloud,可以在 Console UI 中旋轉簽署金鑰,請參閱本教程

Logto OSS 自 v1.8 起支援旋轉簽署金鑰。

Logto OIDC 簽署金鑰,也稱為「OIDC 私密金鑰」和「OIDC cookie 金鑰」,是用於加密 JWT 權杖(存取權杖和 ID 權杖)和 Logto 登入會話中的瀏覽器 cookie 的簽署金鑰。

定期旋轉你的簽署金鑰可以降低潛在金鑰洩露的風險。Logto 建議至少每年旋轉一次簽署金鑰。

旋轉 OIDC 私密簽署金鑰

使用以下 CLI 命令生成新的 OIDC 私密簽署金鑰。重新啟動後將自動使用新金鑰。

可用選項:

--type    (可選)用於你的 JWT 權杖的簽署金鑰演算法。
值為 "rsa" 或 "ec"。預設為 "ec"。
logto db config rotate oidc.privateKeys --type rsa

使用以下 CLI 命令生成新的 OIDC cookie 金鑰。重新啟動後將自動使用新金鑰。

logto db config rotate oidc.cookieKeys

之前的金鑰怎麼辦?

Logto 的金鑰旋轉命令不會刪除你之前的簽署金鑰,它們將保留在資料庫中,除非你手動刪除它們。

此外,刪除之前的金鑰時要謹慎,因為這可能會導致意外問題。建議在一段時間內(例如 2 週)同時保留新金鑰和之前的金鑰,直到你確信所有使用者都已遷移到新金鑰。

疑難排解

在 Cloudflare Zero Trust 中使用 Logto 作為 OIDC 提供者

如果你打算在 Cloudflare Zero Trust 中使用 Logto 作為 OIDC 提供者,請注意它不支援使用 ECDSA 演算法的 OIDC 提供者。在旋轉 OIDC 私密簽署金鑰時,請確保在旋轉命令中指定 --type rsa 使用 RSA 演算法:

logto db config rotate oidc.privateKeys --type rsa