SSO instellen met Microsoft Entra ID¶
Microsoft Entra ID (voorheen Azure Active Directory) is een volledig OIDC-conforme provider, dus digna integreert ermee via het standaard discovery-endpoint.
Deze gids behandelt de Entra ID-kant: het registreren van de applicatie en het verzamelen van de vier waarden die digna nodig heeft. De digna-kant — dashboard_config.toml, testen en oplossen van problemen — is voor elke provider hetzelfde en wordt beschreven in het Overzicht Single Sign-On.
Voordat je begint¶
| Vereiste | Opmerkingen |
|---|---|
| Entra ID-rol | Application Administrator, Cloud Application Administrator of Global Administrator |
| digna redirect URI | De URL waar gebruikers na het inloggen naar terugkeren, bijv. https://digna.yourdomain.com/oidc/callback |
| Tenant | De directory waarin je gebruikers inloggen |
Stap 1: Registreer de applicatie¶
- Log in op het Microsoft Entra admin center
- Ga naar Identity → Applications → App registrations
- Klik New registration
- Configureer:
- Name:
digna(wordt aan gebruikers getoond op het toestemmingsscherm) - Supported account types: Accounts in this organizational directory only voor een single-tenant deployment
- Selecteer onder Redirect URI het platform Web en voer je digna callback-URL in:
- Klik Register
Belangrijk
Het platform moet Web zijn, niet Single-page application. digna wisselt de autorisatiecode uit vanuit de backend met een client secret, en dat staat het platformtype SPA niet toe.
Stap 2: Verzamel de client- en tenant-ID¶
Kopieer op de pagina Overview van de applicatie:
- Application (client) ID → wordt
DIGNA_OIDC_CLIENT_ID - Directory (tenant) ID → gaat in de discovery-URL
Stap 3: Maak een client secret aan¶
- Ga naar Certificates & secrets → Client secrets
- Klik New client secret
- Voer een beschrijving in en kies een vervaltermijn
- Klik Add
- Kopieer direct de kolom Value
Kopieer de Value, niet de Secret ID
De Value wordt maar één keer getoond, op deze pagina, en kan daarna niet meer worden opgehaald. De Secret ID ernaast lijkt erop, maar is niet het secret — als je die gebruikt, krijg je bij het inloggen de fout invalid_client. Als je de pagina verlaat voordat je hebt gekopieerd, verwijder het secret dan en maak een nieuw aan.
Tip
Entra ID beperkt de levensduur van een secret tot 24 maanden, dus elke SSO-integratie heeft een vervaldatum. Noteer die op een plek waar je hem ziet — een verlopen secret legt SSO voor alle gebruikers tegelijk plat, zonder waarschuwing op de inlogpagina.
Stap 4: Controleer de API-rechten¶
- Ga naar API permissions
- Controleer of Microsoft Graph → User.Read (delegated) aanwezig is — dit wordt standaard toegevoegd
De scopes openid, profile en email die digna aanvraagt, horen bij de standaard OIDC-set en hebben geen aparte toekenning nodig. Als je tenant voor alle applicaties admin consent vereist, klik dan op Grant admin consent for <tenant>.
Stap 5: Bouw de discovery-URL¶
Vul de Directory (tenant) ID uit Stap 2 in:
Gebruik het v2.0-endpoint
Het segment /v2.0/ is van belang. Het v1.0-endpoint op https://login.microsoftonline.com/<tenant_id>/.well-known/openid-configuration geeft tokens uit in een ouder formaat en retourneert niet de standaard OIDC-claims die digna verwacht.
Open de URL in een browser voordat je verdergaat. Een JSON-document bevestigt dat de tenant-ID klopt.
Stap 6: Configureer digna¶
dashboard/dashboard_config.toml¶
config.toml¶
[oidc_clients.microsoft]
DIGNA_OIDC_CLIENT_ID = "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
DIGNA_OIDC_CLIENT_SECRET = "<the Value copied in Step 3>"
DIGNA_OIDC_REDIRECT_URI = "https://digna.yourdomain.com/oidc/callback"
DIGNA_OIDC_CONFIGURATION_URL = "https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/v2.0/.well-known/openid-configuration"
De key moet in beide bestanden overeenkomen — hier microsoft.
Stap 7: Test¶
Herstart de backend en de webserver, en open daarna het dashboard. Zie Inloggen testen voor de volledige checklist.
Problemen oplossen met Entra ID¶
AADSTS50011: Redirect URI Mismatch¶
De URI in DIGNA_OIDC_REDIRECT_URI wijkt af van de URI die in Stap 1 is geregistreerd. Entra ID vergelijkt de volledige string, dus een afsluitende slash, http tegenover https of een andere poort gelden allemaal als afwijking. Controleer Authentication → Web → Redirect URIs.
AADSTS7000215: Invalid Client Secret¶
Ofwel is de Secret ID gekopieerd in plaats van de Value, ofwel is het secret verlopen. Maak een nieuw secret aan en kopieer de kolom Value.
AADSTS650057: Invalid Resource¶
De app-registratie is verwijderd of hoort bij een andere tenant dan die in de discovery-URL. Controleer de Directory (tenant) ID op de pagina Overview.
Gebruikers loggen in, maar er gebeurt niets¶
Als de tenant admin consent vereist en die niet is gegeven, keert de redirect terug zonder bruikbaar token. Geef admin consent onder API permissions.
Zie ook¶
- Overzicht Single Sign-On — configuratiereferentie, testen en algemene probleemoplossing
- Microsoft: OAuth 2.0 authorization code flow