Problemen oplossen
De meldingen die het vaakst voorkomen, met de oplossing. Begin altijd bij https://<jouw-domein>/api/ready: die zegt in één keer of het aan de database, Microsoft, de server-poort of de licentie ligt.
Inloggen
| Melding | Oorzaak | Oplossing |
|---|---|---|
| Microsoft stuurde geen e-mailadres mee | Optionele claim of e-mailveld ontbreekt | Vul bij de gebruiker in Entra het e-mailveld in; zet bij Rollout – Login de optionele claims email en xms_edov aan; probeer het in een privévenster |
| Microsoft-login staat nog uit | Provider in Supabase staat uit | Supabase → Authentication → Providers → Azure aanzetten |
AADSTS50105 niet toegewezen | Toewijzing vereist, maar dit account niet | Entra → Bedrijfstoepassingen → Rollout – Login → Gebruikers en groepen |
AADSTS50020 hoort niet bij deze organisatie | Account uit een andere tenant | Inloggen met het werkaccount van je eigen organisatie |
AADSTS7000215 clientgeheim klopt niet | Verkeerd of verlopen geheim | Nieuw clientgeheim in Entra; de waarde (niet het id) in Supabase plakken |
AADSTS50011 terugkeer-URL klopt niet | Omleidings-URI van Rollout – Login | https://<project-ref>.supabase.co/auth/v1/callback |
| Na inloggen terug op de inlogpagina | Redirect URL in Supabase ontbreekt | Supabase → URL Configuration → https://<domein>/auth/callback (stap 6) |
Staat je melding er niet tussen? Kijk in Supabase → Logs → Auth voor de precieze foutmelding.
Server-poort
/api/ready toont | Wat doen |
|---|---|
"gateway": "missing-secret" | ROLLOUT_GATEWAY_SECRET ontbreekt of is korter dan 32 tekens. Zetten en opnieuw deployen |
"gateway": "not-enforced" | Geheim staat er, maar de hash nog niet in de database. Zet de update-regel uit het script |
"gateway": "mismatch" | Geheim en hash horen niet bij elkaar: boeklinks werken niet. Draai node scripts/gateway-secret.mjs opnieuw en zet beide waarden. Snel weer werkend: update platform_settings set gateway_secret_hash = null; |
| Deze functie is alleen via Rollout bereikbaar | Dat is goed: een rechtstreekse aanroep wordt geweigerd |
Klanttenants
| Melding | Oplossing |
|---|---|
| Tenant staat niet in GRAPH_ALLOWED_TENANTS | Tenant-id toevoegen aan GRAPH_ALLOWED_TENANTS en opnieuw deployen |
| Deze tenant hoort niet bij een klant van jouw organisatie | Een beheerder koppelt het tenant-id aan de klant (Project → Koppeling) |
| Verbindingstest faalt op te ruime rechten | De app-registratie heeft een schrijfrecht gekregen. Haal dat weg in Entra en laat de klant opnieuw toestemming geven |
Federatie werkt niet (AADSTS70021, no matching federated identity) | Issuer, Subject en Audience precies overnemen, hoofdlettergevoelig; Audience is https://vercel.com/<team>, niet de standaardwaarde |
| Controles staan grijs ("onbekend") | Microsoft is niet bereikbaar of de klant heeft geen Entra ID P1 (voor aanmeldgegevens). Kijk op de statuspagina van Microsoft 365 |
Configuratie
| Melding | Oplossing |
|---|---|
| In livemodus is een client secret niet toegestaan | Gebruik GRAPH_FEDERATION=vercel (of een certificaat), niet GRAPH_CLIENT_SECRET |
| GRAPH_ALLOWED_TENANTS is leeg | Altijd verplicht: zet minstens één tenant-id |
| APP_URL moet een https-adres zijn | https://rollout.jouwmsp.nl, zonder pad en zonder slash aan het eind |
Een wijziging in een NEXT_PUBLIC_-variabele doet niets | Die worden bij de build ingebakken: opnieuw deployen |
| Uitlegscherm "Licentie verlengen" | Licentie ontbreekt, is ongeldig of al meer dan 30 dagen verlopen. Zie Licentie |
Nog steeds vast?
Mail sales@rollout365.com met wat je deed, wat je zag (een screenshot helpt) en de uitvoer van /api/ready. Stuur nooit geheimen, wachtwoorden of de service_role key mee.