Auth Secret ジェネレーター
AUTH_SECRET、BETTER_AUTH_SECRET、NEXTAUTH_SECRET、JWT 署名などの環境変数用に、暗号学的に安全なランダムキーをブラウザ内で生成します。
Web Crypto API を使ってブラウザ内で生成されます。サーバーには一切送信されません。
これらのシークレットの用途は?
認証ライブラリはサーバーサイドのシークレットでセッショントークンに署名・暗号化を行います。Better Auth は BETTER_AUTH_SECRET を、Auth.js(NextAuth)は AUTH_SECRET を読み取り、JWT ライブラリは署名キーを必要とします。いずれもサーバーだけが知る高エントロピーなランダム値が前提です。
弱いシークレットや使い回しは、攻撃者によるセッショントークンの偽造・なりすましを許します。プロジェクトごと・環境ごとに 32 バイトの専用シークレットを生成し、バージョン管理には含めないでください。
生成したシークレットの使い方
.env ファイルにキーを追加します:
# .env
BETTER_AUTH_SECRET=your-generated-secret # Better Auth
AUTH_SECRET=your-generated-secret # Auth.js / NextAuth v5
JWT_SECRET=your-generated-secret # generic JWT signingBase64 URL セーフ形式は `npx auth secret` や `openssl rand -base64 32` の出力と同形式で、Better Auth、Auth.js/NextAuth、あらゆる JWT ライブラリでそのまま使えます。
よくある質問
AUTH_SECRET はどのくらいの長さにすべきですか?
最低 32 バイト(256 ビット)のランダム性が必要です。`npx auth secret` の出力や Better Auth・Auth.js の推奨と一致します。本ツールのデフォルトは 32 バイトです。
AUTH_SECRET と BETTER_AUTH_SECRET の違いは?
役割は同じで、対象ライブラリが異なるだけです。Auth.js(NextAuth v5)は AUTH_SECRET を、Better Auth は BETTER_AUTH_SECRET を読み取ります。どちらも本ツールが生成する高エントロピーなランダム文字列を想定しています。
ブラウザ内での生成は暗号学的に安全ですか?
安全です。Web Crypto API の crypto.getRandomValues を使用しており、openssl と同等の CSPRNG 品質です。シークレットが端末の外に出ることはありません。
シークレットをローテーションするとどうなりますか?
旧シークレットで署名されたセッションとトークンはすべて無効になり、ユーザーは再ログインが必要になります。漏洩が疑われる場合は直ちにローテーションしてください。
この無料ツールは NEXTY.DEV — Next.js SaaS ボイラープレート が開発・保守しています。Better Auth、Stripe 決済、AI がすべて組み込み済みです。