payload-auth-plugin-fix
Version:
Authentication plugin for Payload CMS
34 lines (30 loc) • 807 B
text/typescript
import type {
AccountInfo,
OIDCProviderConfig,
ProviderConfig,
} from "../../types.js"
type MicrosoftEntraAuthConfig = ProviderConfig & {
tenant_id: string
}
function MicrosoftEntraAuthProvider(
config: MicrosoftEntraAuthConfig,
): OIDCProviderConfig {
return {
...config,
id: "msft-entra",
scope: "openid profile email offline_access",
issuer: `https://login.microsoftonline.com/${config.tenant_id}/v2.0`,
name: "Microsoft Entra",
algorithm: "oidc",
profile: (profile): AccountInfo => {
const email = profile.email as string
return {
sub: profile.sub as string,
name: profile.name as string,
email: email.toLowerCase(),
picture: profile.picture as string,
}
},
}
}
export default MicrosoftEntraAuthProvider