跳至內容
正在從 NextAuth.js v4 遷移嗎?請閱讀 我們的遷移指南.
開始使用供應商Microsoft Entra ID

Microsoft Entra ID

💡

微軟已將 Azure AD 更名為 Microsoft Entra ID,有關新名稱的更多資訊請參閱此處

資源

設定

回呼 URL

https://example.com/api/auth/callback/microsoft-entra-id

環境變數

AUTH_MICROSOFT_ENTRA_ID_ID
AUTH_MICROSOFT_ENTRA_ID_SECRET
AUTH_MICROSOFT_ENTRA_ID_ISSUER

組態

/auth.ts
import NextAuth from "next-auth"
import MicrosoftEntraID from "next-auth/providers/microsoft-entra-id"
 
const { handlers, auth, signIn, signOut } = NextAuth({
  providers: [
    MicrosoftEntraID({
      clientId: process.env.AUTH_MICROSOFT_ENTRA_ID_ID,
      clientSecret: process.env.AUTH_MICROSOFT_ENTRA_ID_SECRET,
      issuer: process.env.AUTH_MICROSOFT_ENTRA_ID_ISSUER,
    }),
  ],
})

注意事項

  1. 僅允許特定的 Active Directory 使用者
  • https://entra.microsoft.com/ 中,從左側的選單中選取「身分識別」。
  • 接下來,前往左側選單中的「應用程式註冊」,並建立一個新的應用程式。
  • 請密切注意「誰可以使用此應用程式或存取此 API?」
    • 這可讓您將存取範圍限制為特定類型的使用者帳戶
    • 僅您的租用戶、所有微軟租用戶,或所有微軟租用戶和公開微軟帳戶(Skype、Xbox、Outlook.com 等)。
  • 當被要求提供重新導向 URL 時,請使用 https://yourapplication.com/api/auth/callback/microsoft-entra-id,或者用於開發時,請使用 https://127.0.0.1:3000/api/auth/callback/microsoft-entra-id
  • 在您的應用程式註冊建立後,在「用戶端密碼」下建立您的用戶端密碼。
  • 現在複製您的
    • 應用程式 (用戶端) ID
    • 用戶端密碼 (值)
    • 發行者

.env.local 中建立以下條目

AUTH_MICROSOFT_ENTRA_ID_ID=<copy Application (client) ID here>
AUTH_MICROSOFT_ENTRA_ID_SECRET=<copy generated client secret value here>
AUTH_MICROSOFT_ENTRA_ID_ISSUER=<copy the issuer here>

這會將租用戶預設為使用 common 授權端點。 如需更多詳細資訊,請參閱此處

Auth.js © Balázs Orbán 及團隊 -2024