跳至內容
從 NextAuth.js v4 遷移?請閱讀 我們的遷移指南.
指南環境變數

環境變數

Auth secret

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

AUTH_SECRET 是由程式庫用來加密 token 和電子郵件驗證雜湊的隨機 token,為了保持安全,這是必須的(請參閱部署以了解更多資訊)。您可以使用 CLI 來產生 auth secret

npm exec auth secret

環境變數推斷

當使用官方 OAuth 提供者時,Auth.js 會自動設定為挑選正確的 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 和團隊 -2024