In order for Expo to configure your organization to use Single Sign-On (SSO), you will need to configure a new application in Microsoft Entra ID and make note of the following information:
- Client ID from your application
- Client secret from application
- Tenant ID
- Expo organization name
Read on for how to configure the Entra ID application and obtain this information.
- In the Azure portal, go to App Registrations and choose New Registration:
- For the new registration, give it a name and set it to "single tenant." Click Register:
- Go back to the list of App Registrations and click your new registration. Click Authentication, Add a platform, and Web:
- Set the Redirect URI to
https://expo.dev/auth/callback/msentraid
and click Configure:
- Click Add URI and add
https://expo.dev
. Then click Save:
- Click API Permissions on the sidebar and then Add Permission:
- Click Microsoft Graph, Delegated Permissions, select the four OpenID permissions (email, offline_access, openid, profile), and then click Add Permissions:
- Click Owners on the sidebar, Add owners, and add an owner:
- Click Overview on the sidebar and then Add a certificate or secret:
- Click New client secret, set a description, and create the secret:
Copy this secret, as it will only be available for a limited time.
- Go to Azure home, then to Microsoft Entra ID, and click on the Expo OIDC application:
- Click Assign users and groups, then Add User/Group, then None Selected, and then select all applicable users:
In order to login successfully to Expo with SSO, users must have an email address set. You can check this by going back to the Azure home, then to Microsoft Entra ID, Users, and then open up a user and look at their Properties tab.
To setup your account to use MS Entra ID, Expo will need:
- Client ID from your application
- Client secret from application
- Tenant ID
- Expo organization name
Client ID will be available under Home -> App registrations -> your new app:
If you didn't copy it when creating it, for a limited time, client secret will be available next to the Client and Tenant ID's, under Client Credentials. If the secret is no longer visible, you can create a new one:
The Expo organization name is available from the Account overview when logging into your account at expo.dev:
If SSO authentication works on initial login but fails on "sudo" operations (e.g., re-authenticating when granting a user additional permissions), check that the following settings are set:
- Check the "ID tokens" checkbox under "Implicit grant and hybrid flows"
- Ensure that the
User.read
scope is added.