28 lines
879 B
TypeScript
28 lines
879 B
TypeScript
|
|
import MicrosoftEntraID from "next-auth/providers/microsoft-entra-id";
|
||
|
|
import type { NextAuthConfig } from "next-auth";
|
||
|
|
|
||
|
|
export default {
|
||
|
|
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,
|
||
|
|
authorization: {
|
||
|
|
params: {
|
||
|
|
scope: "openid profile offline_access email Files.ReadWrite Files.Read",
|
||
|
|
prompt: "consent", // Forces Microsoft to show the permission screen
|
||
|
|
access_type: "offline",
|
||
|
|
},
|
||
|
|
},
|
||
|
|
profile(profile) {
|
||
|
|
return {
|
||
|
|
id: profile.sub,
|
||
|
|
name: profile.name,
|
||
|
|
email: profile.email,
|
||
|
|
image: null,
|
||
|
|
azureAdUserId: profile.oid ?? profile.sub,
|
||
|
|
};
|
||
|
|
},
|
||
|
|
}),
|
||
|
|
],
|
||
|
|
} satisfies NextAuthConfig;
|