Skip to content
RolloutDocs
NL
2Go-live, step by step· step 2 of 7

Sign in with Microsoft

Engineers sign in with their own work account. Microsoft handles the password, MFA and Conditional Access; Rollout never sees a password. For this you create one app registration in your own Entra and link it to Supabase.

What happens when an engineer signs in
Step 0 / 6
Engineerbrowser
Rolloutyour domain
Supabase Authsign-in service
Microsoftyour Entra tenant
Clicks Sign in
Start sign-in (PKCE)
Redirect to Microsoft
↻ Password + MFA
Yes, this is jan@yourmsp.com
Back to /auth/callback

Scroll here or press play.

App registration "Rollout – Login"

  1. New registration

    Entra → App registrations → New registration

    • Name: Rollout – Login
    • Supported account types: Accounts in this organizational directory only
    • Redirect URI (Web): https://<project-ref>.supabase.co/auth/v1/callback

    The <project-ref> is the part before .supabase.co in your Project URL.

  2. Create a client secret

    Certificates & secrets → New client secret. Copy the Value (not the ID): you only see it once. This secret only goes to Supabase, nowhere else.

  3. Send the email address along

    Token configuration → Add optional claim → ID → email. If you later get a message about a missing or unverified email address, also add xms_edov.

  4. Only let your engineers in (important)

    Entra → Enterprise applications → Rollout – Login → Properties → Assignment required: Yes. Then under Users and groups, assign only the group with your engineers.

    Without this step anyone in your tenant can sign in, including reception or an intern. They won't see any data, but it's an unnecessary door.

  5. Recommended: Conditional Access

    Create a policy for this app: MFA required, managed devices only, and no sign-in from countries you don't work in.

Note the Application (client) ID and the Directory (tenant) ID.

Authentication → Sign In / Providers → Azure:

FieldValue
Application (client) IDthe application ID
Secret valuethe value of the client secret
Azure Tenant URLhttps://login.microsoftonline.com/<directory-id>
Don't leave the Azure Tenant URL empty

Empty means: any Microsoft account in the world may sign in. With your own directory ID, only accounts from your tenant get in.

Authentication → URL Configuration: you fill this in at step 6, once your address is fixed. For local testing you can already add http://localhost:3000/auth/callback to the Redirect URLs.

Check

After step 4 (the app is online) check:

  • Signing in with an account outside your tenant fails
  • Signing in with an account in your tenant that is not assigned fails
  • The first account (the address from bootstrap_admin_email) can create the organization
  • A second account only sees Invitation code on first sign-in, not New organization
Sign in with Microsoft · Rollout Docs