Set up Microsoft sign-in through your own Entra app for the employee portal
Let your employees sign in to the Ploy employee portal through an app registration in your own Microsoft Entra tenant, instead of Ploy's shared Microsoft app. Your own app means your tenant decides who can sign in and which Conditional Access policies apply. Your app trusts short-lived tokens signed by Ploy through a federated credential, so there is no client secret to create, store or rotate. This is separate from SAML single sign-on, which signs admins in to the Ploy dashboard.
Before you start
You need:
Permission to register applications in Microsoft Entra, for example the Application Administrator role.
Access to Settings → Portal in Ploy.
Your employees already in Ploy. Ploy signs someone in only when the email Microsoft returns matches an employee in your organization.
Choose your own app in Ploy
In Ploy, go to Settings → Portal.
Under Login Options, make sure Microsoft is turned on. The Microsoft sign-in panel appears below.
Under App people sign in through, choose Your own Microsoft Entra app.
Keep this page open, and do not save yet. You copy the Redirect URI from it into Microsoft Entra.
Register the app in Microsoft Entra
In the Microsoft Entra admin center, go to Entra ID → App registrations and click New registration.
Name it something recognisable, for example Ploy employee portal.
Fill in the settings below, then click Register.
Microsoft Entra field | Value |
|---|---|
Supported account types | Accounts in this organizational directory only (single tenant). |
Redirect URI platform | Web |
Redirect URI | The Redirect URI from Ploy: |
On the app's Overview page, copy the Application (client) ID and the Directory (tenant) ID. You paste both into Ploy later.
Check the app's permissions
Ploy reads the signed-in person's own profile to get their email address. On the app's API permissions page, make sure the delegated Microsoft Graph permission User.Read is listed. New app registrations include it by default.
If your tenant does not let users consent to apps, click Grant admin consent on that page so employees are not asked to approve the app.
Add the auth_time claim (optional)
Ploy asks an employee to sign in again before they add or remove a passkey, and it uses the auth_time claim to confirm that they did. Without the claim, sign-in works but passkey setup is refused.
On the app's Token configuration page, click Add optional claim.
Choose ID as the token type, tick auth_time, then click Add.
Add a federated credential
On the app's Certificates & secrets page, open the Federated credentials tab and click Add credential.
Under Federated credential scenario, choose Other issuer.
Copy the three values from the Microsoft sign-in panel in Ploy:
Microsoft Entra field | Value from Ploy |
|---|---|
Issuer | Issuer. It looks like |
Subject identifier (the value, under Type: Explicit subject identifier) | Subject identifier: |
Audience | Audience: |
Give the credential a name, for example ploy-portal-sign-in, then click Add.
The issuer is unique to your Ploy organization, so no other Ploy customer can use this credential. Microsoft can take a minute or two to start accepting a new federated credential.
Choose who can sign in (optional)
By default, anyone in your tenant can use the app. To limit it, go to Entra ID → Enterprise apps, open the app, set Assignment required? to Yes under Properties, then assign people or groups under Users and groups.
You can also target the app with Conditional Access policies, for example to require multifactor authentication or a compliant device.
Open the portal from My Apps (optional)
So employees can open the portal from their Microsoft My Apps page and be signed in straight away, give the app a home page URL that starts Microsoft sign-in automatically.
On the app registration's Branding & properties page, set Home page URL to your portal's sign-in address with
?auth=microsofton the end:
https://<your-portal-subdomain>.employee-access.com/members/auth/sign-in?auth=microsoft
Click Save.
In Entra ID → Enterprise apps, open the app and make sure Visible to users? is Yes under Properties.
With ?auth=microsoft, the portal skips its login page and sends the employee to Microsoft, as long as Microsoft is turned on under Login Options. Without it, the same address shows the login page with its buttons. You can use the same link anywhere else you point employees at the portal, for example an intranet page or a bookmark.
Connect Ploy
Back in Ploy on Settings → Portal, fill in the Microsoft sign-in panel, then click Save.
Ploy field | Where to find it in Microsoft Entra |
|---|---|
Directory (tenant) ID | The app's Overview page. |
Application (client) ID | The app's Overview page. |
Test it
Open your portal address, for example
https://<your-portal-subdomain>.employee-access.com. You can find it under Portal URL on Settings → Portal.Click Login with Microsoft. Microsoft shows your own tenant's sign-in page, with the name of your app.
Sign in with an account from your tenant whose email matches an employee in Ploy.
What employees see
Nothing changes on the portal's login page. Employees click Login with Microsoft as before, and Ploy sends them to your app. The Ploy browser extension, Ploy Desktop and Ploy for iPhone use your app as well.
Once you save, Ploy stops accepting Microsoft sign-ins to your portal through its shared app. Employees who are already signed in stay signed in until their session ends, then sign in through your app.
To go back, choose Ploy's Microsoft app under App people sign in through and click Save.
Fix sign-in errors
What the employee sees | What to check |
|---|---|
"Invalid authentication request. Please try again" | The tenant ID or client ID in Ploy is wrong; or the federated credential's issuer, subject identifier or audience does not exactly match the values shown in Ploy, or was added in the last couple of minutes. The app's Sign-in logs in Microsoft Entra show the exact reason. |
A Microsoft error about the redirect URI (AADSTS50011) | The Redirect URI in the app registration must exactly match the Redirect URI shown in Ploy, on the Web platform. |
A Microsoft error that the account does not exist in the tenant (AADSTS50020) | The person signed in with an account from another tenant, or a personal Microsoft account. Only accounts in your tenant can use your app. |
A Microsoft error that the user is not assigned to a role for the application (AADSTS50105) | Assignment required? is on. Assign the person, or a group they belong to, under Users and groups. |
Microsoft asks for admin approval | Click Grant admin consent on the app's API permissions page. |
"No valid account found. Please contact your IT or security team to resolve this issue." | The email Microsoft returns doesn't match an employee in your Ploy organization. Ploy uses the account's Email in Microsoft Entra, or its user principal name when no email is set. |
"Microsoft login is not enabled for this organization" | Microsoft is off under Login Options, or the settings were not saved. |
Passkey setup is refused after signing in again | Add the |