Docs

Microsoft

Enabling OAuth with Microsoft Azure Entra ID (formerly Active Directory) allows your users to sign in and sign up to your application with their Microsoft account.

Get your Microsoft credentials

To use Microsoft as a social provider, you need to get your Microsoft credentials. Which involves generating your own Client ID and Client Secret using your Microsoft Entra ID dashboard account.

Make sure to set the redirect URL to http://localhost:3000/api/auth/callback/microsoft for local development. For production, you should it to the URL of your application. If you change the base path of the auth routes, you should update the redirect URL accordingly.

see the Microsoft Entra ID documentation for more information.

Configure the provider

To configure the provider, you need to pass the clientId and clientSecret to socialProviders.microsoft in your auth configuration.

auth.ts
import { betterAuth } from "better-auth"
 
export const auth = betterAuth({
    socialProviders: {
        microsoft: { 
            clientId: process.env.MICROSOFT_CLIENT_ID as string, 
            clientSecret: process.env.MICROSOFT_CLIENT_SECRET as string, 
            // Optional
            requireSelectAccount: true
        }, 
    },
})

Sign In with Microsoft

To sign in with Microsoft, you can use the signIn.social function provided by the client. The signIn function takes an object with the following properties:

  • provider: The provider to use. It should be set to microsoft.
auth-client.ts
import { createAuthClient } from "better-auth/client";
 
const authClient = createAuthClient();
 
const signIn = async () => {
  const data = await authClient.signIn.social({
    provider: "microsoft",
    callbackURL: "/dashboard", //the url to redirect to after the sign in
  });
};

On this page