By default, signing in with Microsoft means consenting to the Kolleno application, which we own and maintain. Clients whose Kolleno instance runs on dedicated infrastructure can instead supply an Entra app registration created in their own tenant, so the credential and the sign-in policy belong to their IT team rather than to us.
Who this applies to
This option is available to clients with a dedicated Kolleno deployment, which has its own hostname (for example app.yourcompany.kolleno.com) and its own database.
It is not available on the shared Kolleno platform. There, a single Kolleno app registration serves every customer, and the sign-in flow has no way to tell which company a person belongs to until after they have authenticated with Microsoft, which is too late to choose a different registration. If you are unsure which applies to you, ask your Kolleno contact.
The two options
| Consent to the Kolleno app | Supply your own registration |
Setup effort | One consent click by an admin | You create and configure the registration |
Who holds the credential | Kolleno | You, and you rotate it |
Conditional Access | Supported | Supported |
Revoking access | Withdraw consent | Delete the registration or its credential |
Ongoing maintenance | None for you | Renew the credential before it expires |
Both options give you an application in your own tenant, so Conditional Access, group assignment and sign-in logs work the same way either way. The difference is ownership of the credential.
Setting up the registration
Platform and redirect URI
Register the application with the Web platform. This is the single most common setup mistake: a Single-page application (SPA) registration is treated by Entra as a public client, and it will reject the credential when Kolleno exchanges the sign-in code for a token. The failure happens after a seemingly successful sign-in, which makes it confusing to diagnose.
Add one redirect URI, under that Web platform:
https://<your Kolleno API hostname>/auth/microsoft/redirect/
Your Kolleno contact will confirm the exact hostname. Enter it exactly as given, including the trailing slash. A mismatch produces error AADSTS50011 at sign-in.
Supported account types
Single tenant (Accounts in this organizational directory only) is the right choice and the one we recommend. Tell us your Directory (tenant) ID so we can point Kolleno at your tenant directly.
This matters more than it looks. A single-tenant registration cannot be reached through Microsoft's shared /common sign-in endpoint, and attempting it fails with AADSTS50194. Giving us the tenant ID avoids that, and it is also what makes sign-in work for guest (B2B) accounts in your directory, which would otherwise be sent to their home tenant instead of yours.
API permissions
Only the standard OpenID Connect sign-in scopes are needed. In the Entra portal these appear under API permissions → Microsoft Graph → Delegated permissions, which is a common source of confusion: they are sign-in scopes, not access to Graph data.
Scope | Purpose |
| Sign the user in and issue an ID token |
| Include the user's email address on the ID token |
| Basic name information |
| Requested automatically by the Microsoft authentication library. Kolleno does not store the resulting refresh token. |
If user consent is disabled in your tenant, an Entra administrator needs to grant admin consent for these. The default User.Read permission that Entra adds to a new registration is not used by Kolleno, and you can leave it or remove it.
Certificate or client secret
Kolleno authenticates to your registration with either a client secret or a certificate.
We recommend a certificate, and most security teams require one.
With a certificate, nothing confidential is exchanged in either direction:
Kolleno generates the key pair and keeps the private key in our secret store
We send you the public certificate only, which is not sensitive and can be sent by ordinary email
You upload it under Certificates & secrets → Certificates on the registration
We include the certificate's SHA-1 thumbprint in the message. Please check it against what Entra displays after the upload, which confirms the file arrived intact.
With a client secret, the reverse is true: you generate the secret and have to transmit a live credential to us, which is why certificates are preferred.
Certificate expiry
A certificate has a fixed lifetime, and when it lapses every sign-in to your Kolleno instance fails. Where SSO is enforced there is no password fallback, so this is a full outage rather than a degraded service. Please record the expiry date and plan the renewal in advance.
Renewal itself is seamless. Entra accepts more than one certificate on a registration, so we issue the replacement and you upload it alongside the current one before we switch across. Let us know if your tenant caps certificate lifetimes, as some do at twelve months, so we issue one that your policy will accept.
What Kolleno reads when someone signs in
Kolleno reads the ID token that Microsoft returns and nothing else. We do not call Microsoft Graph, and we do not retain the Microsoft access or refresh token.
Claim | Required | Used for |
| Yes | Identifying the user and matching their Kolleno invitation |
| Yes | A stable Microsoft identifier for the user |
| No | First and last name |
The email claim must be present. Kolleno identifies people by email address and does not fall back to any other claim, so a user whose directory record has no email address will not be able to sign in. If your accounts do not carry one, add email as an optional claim on the ID token under Token configuration.
Controlling who can sign in
Because the registration is yours, the usual Entra controls apply and Kolleno does not bypass any of them. Sign-in is an ordinary interactive redirect to Microsoft, so MFA, device compliance, named locations and any other Conditional Access policy are evaluated on Microsoft's login page before Kolleno is given anything.
You can also restrict sign-in to a group by setting Assignment required to Yes on the enterprise application and assigning that group. Note that group-based assignment requires an Entra ID P1 or P2 licence, while assigning individual users does not.
Two things are worth knowing about how this interacts with Kolleno:
Passing your Entra checks is necessary but not sufficient. A person also needs an invitation in Kolleno, matched on their email address, and their role and permissions are managed in Kolleno rather than derived from Entra groups.
Once someone has signed in, Kolleno issues its own session. Later Entra actions such as sign-in frequency, Continuous Access Evaluation or revoking a token do not automatically end a Kolleno session that is already running. To cut off access immediately, remove the user in Kolleno under Settings → User Management.
What we never request
Sign-in does not require, and Kolleno does not ask for, any of the following:
Mail.Read,Mail.SendorMail.ReadWriteUser.ReadDirectory.Read.Allor any other directory administration permissionApplication (app-only) permissions
Those belong to the optional Microsoft email and inbox integrations, which are a separate connection set up independently of SSO.
What to send us
Item | Notes |
Directory (tenant) ID | A GUID, from the registration's Overview page |
Application (client) ID | A GUID, same page. Neither of these is a secret. |
Confirmation of the platform type | That the redirect URI is registered under Web |
Certificate lifetime limit | If your tenant policy caps it, so we issue one that will upload |
We then send you the public certificate to upload, and confirm when the configuration is live on your instance.
If the registration changes later
Please tell us before deleting or recreating the registration. A new registration means a new Application (client) ID, and the certificate has to be uploaded to it as well, so sign-in stops working until both are in place on our side. The existing certificate can be reused on the new registration, so nothing needs reissuing.
