Getting started
Dashboard sign-in (SSO)
One admin consent, once per tenant. The URL to open, the four checks to make in the dialog, and how to read the grant back.
Validated against the Azure portal on 5 August 2026.
Users sign in at app.infralign.ai with the Microsoft work accounts they already have. The sign-in app is called Infralign. It asks for sign-in permissions and nothing else.
No password reaches Infralign. No new credential is created.
Grant admin consent (one time)
Section titled “Grant admin consent (one time)”One admin, one consent, one enterprise application. Figure 1 is the whole of it. The grant covers every current and future user in your tenant, so nobody meets a per-user prompt.
-
Confirm that you hold one of the three roles listed above.
Done when Entra shows the role as active for your account.
-
Open the admin-consent URL for your tenant.
Replace
YOUR_TENANT_IDwith your tenant GUID. It is on the Entra admin center’s Overview page, under Entra ID, as Tenant ID. Your tenant’s primary domain works in its place.https://login.microsoftonline.com/YOUR_TENANT_ID/adminconsent?client_id=f7113fd5-938a-4551-9406-e8e964e0308eDone when the Microsoft consent dialog opens.
-
Verify these values in the consent dialog:
Field Required value Application Infralign Client ID f7113fd5-938a-4551-9406-e8e964e0308e, carried in the URL you opened in step 2. The dialog itself does not display itPermission Sign in and read user profile Publisher Infralign Smart Solutions, with a blue verified badge 
The dialog as a Global Administrator of an external tenant sees it. Captured 6 August 2026; the admin’s address is blurred. It lists one grouped entry.
Do not accept a request from a URL whose client ID differs. A matching name over a different ID is a consent-phishing signal.
Done when every value in the table matches and the four checks below hold.
-
Select Accept.
Done when Microsoft redirects you to
app.infralign.ai. -
Read the grant back. In the Entra admin center, confirm Infralign appears under Enterprise applications. Open Permissions → Admin consent.

The grant, read back from a tenant that has consented. Your own organisation’s name appears on the button, so it is blurred here. Captured 5 August 2026.
Four rows, not five.
offline_accessis requested at each sign-in rather than registered on the app, so it never appears in this record. Check what is absent from the list, not how long the list is.Done when the enterprise application is listed and the four rows above are the only ones under Microsoft Graph.
Consent authorises sign-in only. It grants no wider tenant read, no resource access, and no write access.
Accepting is also what creates the Infralign entry under Enterprise applications. Nobody creates that entry by hand. It is the record of the consent, and deleting it revokes the consent.
Verifying this is the real request
Section titled “Verifying this is the real request”Make all four checks before you accept.
| Check | It passes when |
|---|---|
| Client ID | The URL you opened carries client_id=f7113fd5-938a-4551-9406-e8e964e0308e. No other application can present that ID. A dialog named “Infralign” raised by a different client ID is consent phishing, verified badge or not. |
| Permission list | Every entry appears in what the app asks for. Do not count the entries: Microsoft groups and words them differently per screen. Check that nothing outside the set appears. |
| The URL you opened | It carries your own tenant ID and client_id=f7113fd5-938a-4551-9406-e8e964e0308e. Check the address bar yourself. A link from a colleague is fine once you verify both values; a link you cannot verify is not. |
| Publisher | It reads Infralign Smart Solutions with a blue verified badge, and the domain reads infralign.ai. One signal among four, not a substitute for the other three. |
If all four hold, accept. If any fails, close the dialog without accepting, then email support@infralign.ai.
Publisher verification is an identity check, not a security audit. What Infralign does with your data is in security and data handling.
What the app asks for
Section titled “What the app asks for”Five permissions. Every one of them exists to sign a person in.
| Permission | How the dialog words it | What it does |
|---|---|---|
openid | Sign users in | Establishes who the person is. The base of any Microsoft sign-in. |
profile | View users’ basic profile | Their name and basic profile fields. |
email | View users’ email address | The address Infralign matches against your account’s people list. |
User.Read | Sign in and read user profile | Reads their own profile. Not anyone else’s. |
offline_access | Maintain access to data you have given it access to | Keeps the session alive. It grants no new data, and deleting the enterprise application ends it. |
None of the five can list other users, read your directory, or reach a mailbox, a file, or any Azure resource. Your cost and resource data is read by infralign-reader, a different identity that you create and control.
Do not count the entries. The dialog rarely lists all five at once. Admin consent covers the four registered on the app together. offline_access is added by the sign-in proxy at the moment of the request, so it can appear on a screen that lists nothing else. Check instead that nothing appears which is not in this table.
If your tenant restricts consent
Section titled “If your tenant restricts consent”Find out in advance. In the Entra admin center, open Enterprise applications → Consent and permissions → User consent settings.
| Your tenant’s setting | Can a non-admin sign in without you? | What you have to do |
|---|---|---|
| Allow user consent for all apps | Yes | Nothing. The first sign-in by any enrolled user works. |
| Allow user consent for apps from verified publishers | Yes. Infralign is verified and User.Read is in the low-impact set. | Nothing, though admin consent is still tidier. |
| Do not allow user consent | No | Grant admin consent before anyone signs in, or they meet AADSTS90094. |
Admin consent is the recommended path in every row. It also removes per-user “Need admin approval” interruptions.
One more setting matters on that page. If Admin consent requests is enabled, a blocked user’s request queues for named reviewers and the user sees the screen below. Re-sending the consent URL changes nothing: the request is already in somebody’s queue. Find the named reviewer and ask them. It can take days.

What a non-admin sees when the tenant queues consent requests. Captured from a real tenant on 5 August 2026; the tenant’s identifying header is cropped out. It lists two of the five permissions rather than all five, which is why the checks above ask what is absent rather than how many appear.
Constraining the grant after you accept
Section titled “Constraining the grant after you accept”Every lever below is applied after consent, in your own tenant, with no involvement from Infralign.
- Set Assignment required to Yes. On Enterprise applications → Infralign → Properties, set Assignment required? to Yes. Only identities you assign under Users and groups get a token. Entra refuses everyone else before Infralign sees the request.
- Scope it to one named group. Manage the assignment through a single security group. The membership then answers “who can reach this” in one place, which is what an auditor asks for.
- Apply Conditional Access to the app. The sign-in application takes ordinary policy: require MFA, require a compliant device, restrict by named location. Sign-in happens on Microsoft’s page inside your tenant, so your policy applies in full.
- Revoke a live session. The application is subject to Continuous Access Evaluation, so a token can be cut mid-session rather than lingering until it expires.
- Put an access review on the group. An Access reviews cycle gives the decision an expiry date.
Two systems then decide access, and both have to agree. Entra decides who may obtain a token. The Infralign People page decides who the dashboards open for. A person added in one and not the other cannot sign in.
A future release that needs more than User.Read cannot widen this grant quietly: Entra raises a fresh consent dialog. If a dialog ever names a permission this page does not list, close it and email support@infralign.ai.
Optional: revoke consent
Section titled “Optional: revoke consent”To stop new sign-ins, delete the Infralign enterprise application. That is the sign-in application, not infralign-reader. Existing sessions expire on their own.
To cut off one person, remove them on the People page. Their access ends in about a second.
To cut off a whole tenant, ask Infralign to remove it from the allowlist. That is the one revocation here you cannot perform yourself. Deleting the Infralign enterprise application achieves the same outcome immediately, and needs nobody’s agreement.
What happens at sign-in
Section titled “What happens at sign-in”Once consent is in place, each sign-in follows the same path. Microsoft redirects the user to its own sign-in page.
The user enters their password and MFA inside your tenant. Infralign cannot see either value.
Microsoft returns an ID token with the user’s name, email, and tenant ID. Infralign checks two allowlists before loading the dashboard, as figure 2 shows.
Who can sign in
Section titled “Who can sign in”Infralign enrols your first admin before sending the setup link. That admin then adds and removes everybody else, from the People page in the dashboard sidebar’s Admin section.
Each enrolled identity is pinned to your tenant ID. A removal takes effect in about a second, including any session the person already has open.
The roles, the domain rule and the guardrails are in manage who has access.
If sign-in fails
Section titled “If sign-in fails”Two security gates run after Microsoft sign-in:
| Gate | Rejection state |
|---|---|
| Tenant allowlist | The callback rejects a tenant that is not enrolled. |
| User allowlist with tenant binding | Tenant pages return 403 for an unenrolled or mismatched identity. |
| Symptom | Cause | Fix |
|---|---|---|
”Need admin approval” interrupt (AADSTS65001 or AADSTS90094) | Consent is missing and the tenant blocks user consent | Send the admin the consent URL above. The admin-notify workflow is off by default in most tenants, so the request may not reach an admin on its own. |
AADSTS700016, application not found in tenant | Admin consent was never granted, so the sign-in application was never provisioned | Grant admin consent (steps above). |
AADSTS50011, redirect URI mismatch | The reply URL does not match what the app expects | Contact Infralign. This is fixed on Infralign’s side. |
AADSTS65004, user declined the dialog | Someone selected Cancel on the consent dialog | Re-open the consent URL and select Accept. |
AADSTS50105, user not assigned to a role for the application | Your tenant set Assignment required? to Yes on the Infralign sign-in application and this person is not assigned | Add them, or their group, under Enterprise applications → Infralign → Users and groups. See constraining the grant after you accept. |
| Signed in fine, but every page returns 403 | The user is not on the account, or their email does not match the one added | An admin adds the exact address their Microsoft account asserts, on the People page. |
| Rejected straight back to sign-in at the callback | Your tenant is not yet on the allowlist | Confirm Infralign has your tenant GUID. |
Next: Connect Azure. The four values the wizard asks for, and what each of its four steps does.