コンテンツにスキップ
NextAuth.js v4からの移行ですか?お読みください 移行ガイド.

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/ で、左側のバーメニューから「ID」を選択します。
  • 次に、左側のメニューの「アプリの登録」に移動し、新しいアプリを登録します。
  • 「誰がアプリケーションを使用したり、このAPIにアクセスしたりできますか?」に細心の注意を払ってください。
    • これは、特定の種類のユーザーアカウントへのアクセスをスコープすることができます。
    • 自分のテナントのみ、すべてのMicrosoftテナント、またはすべてのMicrosoftテナントとパブリックMicrosoftアカウント(Skype、Xbox、Outlook.comなど)
  • リダイレクトURLを聞かれたら、https://yourapplication.com/api/auth/callback/microsoft-entra-id を使用します。開発の場合は、http://localhost: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 and Team -2024