コンテンツへスキップ
NextAuth.js v4 からの移行ですか?以下をお読みください 移行ガイド.
ガイド環境変数

環境変数

Authシークレット

.env.local
AUTH_SECRET="This is an example"

AUTH_SECRETは、トークンとメール認証ハッシュを暗号化するためにライブラリで使用されるランダムトークンであり、セキュリティを維持するために必須です(詳細については、デプロイメントを参照してください)。CLIを使用してAuthシークレットを生成できます

npm exec auth secret

環境変数の推論

Auth.jsは、公式のOAuthプロバイダーを使用している場合、clientIdclientSecretの適切な環境変数を自動的に選択するように構成されています。

.envファイル内のこれらの変数の形状は、常に同じパターンに従う必要があります

AUTH_[PROVIDER]_ID=
AUTH_[PROVIDER]_SECRET=

たとえば、Google、Twitter、GitHubプロバイダーを使用している場合、.envファイルは次のようになります。

# Google
AUTH_GOOGLE_ID=123
AUTH_GOOGLE_SECRET=123
 
# Twitter
AUTH_TWITTER_ID=123
AUTH_TWITTER_SECRET=123
 
# GitHub
AUTH_GITHUB_ID=123
AUTH_GITHUB_SECRET=123

次に、Auth.js構成ファイルでは、provider配列は次のように簡略化されます。

./auth.ts
import NextAuth from "next-auth"
import Google from "next-auth/providers/google"
import Twitter from "next-auth/providers/twitter"
import GitHub from "next-auth/providers/github"
 
export const { handlers, auth } = NextAuth({
  providers: [Google, Twitter, GitHub],
})

何らかの理由で変数の名前を別々に付けたい場合は

# Google
AUTH_WEBAPP_GOOGLE_CLIENT_ID=123
AUTH_WEBAPP_GOOGLE_CLIENT_SECRET=123

構成内で手動で参照する必要があります

./auth.ts
import NextAuth from "next-auth"
import Google from "next-auth/providers/google"
 
export const { handlers, auth } = NextAuth({
  providers: [
    Google({
      clientId: process.env.AUTH_WEBAPP_GOOGLE_CLIENT_ID,
      clientSecret: process.env.AUTH_WEBAPP_GOOGLE_CLIENT_SECRET,
    }),
  ],
})
Auth.js © Balázs Orbán and Team -2024