ACME HQDemo work items and pages, made up for Emargen's demo. Not a real company.
Engineering / Engineering / Runbooks

Runbook: a depot can't sign in with single sign-on

By Marek Nowak · created 13 Feb 2023, 10:20 UTC · last updated 26 Oct 2026, 09:40 UTC · version 10

runbooksamlsingle-sign-onentra-idokta

Use this when people at one depot (or one client) can't sign in through Entra ID or Okta. If every client in a region fails, it is not this: page the on-call engineer and treat it as SEV1.

1. Find out who and where

2. Read the error

What people see or the log saysUsuallyFix
Entra ID page: AADSTS50105, "not assigned to the application"the person isn't in the depot's group in Entra IDthe customer's IT adds them to the group (for Kelderby: KEL-<Depot>-Users)
Entra ID page: AADSTS700016, application not foundthe depot's app in Entra ID uses the wrong identifiercompare the entity ID with the depot's settings in the portal
Our page: "The response was signed with an unknown certificate"the IdP certificate changed or expiredthe customer uploads new metadata (portal, since 18 August); see SAML certificates
Our page: "This sign-in arrived too late"clock skew over 3 minutes, or someone pressed Backtry again; if it repeats for everyone, check our hosts' time sync
Our page: "We couldn't tell which depot you work at"Okta: the depot attribute is missing or has a code we don't knowthe customer fixes the attribute in Okta; codes must match Depots in the portal
Our page: "No account for this sign-in"nobody in the client has that email: the imported email differs from the person's Entra ID or Okta usernamecorrect the person's email in the portal. Don't make a second account: that is how duplicates start (SUP-1264)
Signs in, but with the wrong rolethe person's groups don't map to a role, or map to twocheck GroupRoleMap for the client; roles are re-applied at every sign-in

Each depot has its own certificate and sign-in address (src/Saml/DepotSamlConfig.php), so one Entra ID app per depot. A fix to one depot's app doesn't fix the next.

3. Reproduce without the customer

Run the local SAML test IdP from tools/ against staging with the customer's claims copied in (no real names). Local development has the steps.

4. Tell people

Known cases

WhenClientWhat happened
March 2026BrakelineHull's rehearsal failed: Grimsby's certificate had been loaded for it; the two files had the same name (SUP-388)
16 JunVossbergOkta test sign-in failed: depot attribute missing (SUP-958)
21 AugKelderbyRotterdam's test login failed after metadata upload: the file came from Kelderby's test tenant (SUP-1116)
Sat 24 OctKelderby19 Ghent drivers refused with AADSTS50105 on the switch morning: only in the old KEL-Ghent-Users, not in KEL-Gent-Users; Henrik added them at 07:40, all in by 08:10 (SUP-1261)

Change history

VersionDateWhoWhat
724 Jun 2026MarekOkta attribute errors
819 Aug 2026MarekMetadata upload
915 Oct 2026MarekOne app per depot; known cases table
1026 Oct 2026OskarGhent on the first Kelderby weekend