Microsoft Entra OAuth Provider

Authenticate using Microsoft Entra OAuth provider.


src/payload.config.ts
ts
            import { buildConfig } from "payload/config";
import { adminAuthPlugin } from "payload-auth-plugin";
import { MicrosoftEntraAuthProvider } from "payload-auth-plugin/providers";

export default buildConfig({
  // --- rest of the config
  plugins: [
    // --- rest of the plugins
    adminAuthPlugin({
      providers: [
        MicrosoftEntraAuthProvider({
          client_id: process.env.PROVIDER_CLIENT_ID as string,
          client_secret: process.env.PROVIDER_CLIENT_SECRET as string,
          tenant_id: process.env.MSFT_ENTRA_TENANT_ID as string,
        }),
      ],
    }),
  ],
});

        

Parameters


Returns

provider OIDCProviderConfig


MicrosoftEntraAuthConfig

MicrosoftEntraAuthConfig.client_id:

Type: string

Description: client_id is a string generated by Microsoft Entra to identify your Payload app.

Optional: No.

ts
            {
  client_id: "";
}

        

MicrosoftEntraAuthConfig.client_secret:

Type: string

Description: client_secret is a private key generated by Microsoft Entra to authenticate your Payload app.

Optional: No.

ts
            {
  client_secret: "";
}

        

MicrosoftEntraAuthConfig.tenant_id:

Type: string

Description: tenant_id of the Microsoft Entra tenant.

Optional: No.

ts
            {
  tenant_id: "";
}

        

MicrosoftEntraAuthConfig.params:

Type: Record<string, string>

Description: params any additional parameters to pass to the IDP for authorization.

Optional: Yes.

ts
            {
  params: {
    // additional parameters
  }
}