跳至内容
从 NextAuth.js v4 迁移?阅读 我们的迁移指南.
入门提供商Microsoft Entra ID

Microsoft Entra ID

💡

Microsoft 已将 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?”
    • 这使您可以将访问权限限定为特定类型的用户帐户
    • 仅您的租户、所有 Microsoft 租户或所有 Microsoft 租户和公共 Microsoft 帐户(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