問題
環境テンプレートは BETTER_AUTH_SECRET を定義する一方、Better Authの実装は独自app-authorization JWTと同じ JWT_SECRET を使用している。設定ドキュメントと実装が一致せず、鍵を分離・個別ローテーションできない。
リスク
- 片方の鍵漏えいがBetter Auth sessionと独自JWTの両方へ波及する。
- 新規環境はテンプレート通りに設定しても、コードが要求する
JWT_SECRET不足で失敗し得る。
- 直ちに参照先を切り替えると、既存session失効や本番のsecret未設定を起こし得るため、段階移行が必要。
実施案
- staging/productionでsecret名の設定有無だけを確認する(値は記録しない)。
BETTER_AUTH_SECRET ?? JWT_SECRET の移行期間を設け、旧構成を壊さない。
- stagingで別鍵を設定し、login/session refresh/sign-out/custom JWTを検証する。
- productionへ設定し、既存session失効の影響と告知方針を決めて切り替える。
- 移行後は
BETTER_AUTH_SECRETを必須化し、型・env example・runbookを一致させる。
- 両鍵の個別rotation手順と回帰テストを追加する。
受入条件
問題
環境テンプレートは
BETTER_AUTH_SECRETを定義する一方、Better Authの実装は独自app-authorizationJWTと同じJWT_SECRETを使用している。設定ドキュメントと実装が一致せず、鍵を分離・個別ローテーションできない。リスク
JWT_SECRET不足で失敗し得る。実施案
BETTER_AUTH_SECRET ?? JWT_SECRETの移行期間を設け、旧構成を壊さない。BETTER_AUTH_SECRETを必須化し、型・env example・runbookを一致させる。受入条件