21 lines
782 B
TypeScript
21 lines
782 B
TypeScript
|
|
import NextAuth from "next-auth"
|
||
|
|
import MicrosoftEntraID from "next-auth/providers/microsoft-entra-id"
|
||
|
|
|
||
|
|
export const { handlers, signIn, signOut, auth } = NextAuth({
|
||
|
|
providers: [
|
||
|
|
MicrosoftEntraID({
|
||
|
|
clientId: process.env.AUTH_MICROSOFT_ENTRA_ID_ID,
|
||
|
|
clientSecret: process.env.AUTH_MICROSOFT_ENTRA_ID_SECRET,
|
||
|
|
// Pass tenantId as 'common' to support multi-tenant + personal accounts
|
||
|
|
tenantId: process.env.AUTH_MICROSOFT_ENTRA_ID_TENANT_ID,
|
||
|
|
authorization: {
|
||
|
|
params: {
|
||
|
|
// Explicitly ask for these scopes for OneDrive access later
|
||
|
|
scope: "openid profile email offline_access User.Read Files.ReadWrite",
|
||
|
|
},
|
||
|
|
},
|
||
|
|
})
|
||
|
|
],
|
||
|
|
// Required for Next.js 15/16 and Nginx production environments
|
||
|
|
trustHost: true,
|
||
|
|
})
|