Opsæt SSO med Microsoft Entra ID¶
Microsoft Entra ID (tidligere Azure Active Directory) er en fuldt OIDC-kompatibel udbyder, så digna integrerer med den via standard discovery-endpointet.
Denne guide dækker Entra ID-siden: registrering af applikationen og indsamling af de fire værdier, digna har brug for. digna-siden — dashboard_config.toml, test og fejlfinding — er den samme for alle udbydere og er beskrevet i Oversigt over Single Sign-On.
Før du går i gang¶
| Krav | Bemærkninger |
|---|---|
| Entra ID role | Application Administrator, Cloud Application Administrator, or Global Administrator |
| digna redirect URI | The URL users return to after login, e.g. https://digna.yourdomain.com/oidc/callback |
| Tenant | The directory your users sign in to |
Trin 1: Registrer applikationen¶
- Log ind på Microsoft Entra admin center
- Gå til Identity → Applications → App registrations
- Klik New registration
- Konfigurér:
- Name:
digna(vises for brugerne på consent-skærmen) - Supported account types: Accounts in this organizational directory only for a single-tenant deployment
- Under Redirect URI, vælg platform Web og indtast din digna callback-URL:
- Klik Register
Vigtigt
Platformen skal være Web, ikke Single-page application. digna bytter autorisationskoden fra backend ved hjælp af en client secret, hvilket SPA-platformtypen ikke tillader.
Trin 2: Indsaml Client- og Tenant-ID'er¶
På applikationens Overview-side, kopier:
- Application (client) ID → bliver
DIGNA_OIDC_CLIENT_ID - Directory (tenant) ID → indsættes i discovery-URL'en
Trin 3: Opret en Client Secret¶
- Gå til Certificates & secrets → Client secrets
- Klik New client secret
- Indtast en beskrivelse og vælg en udløbstid
- Klik Add
- Kopiér kolonnen Value med det samme
Kopiér Value, ikke Secret ID
Value vises kun én gang, på denne side, og kan ikke hentes igen. Secret ID ved siden af ligner, men er ikke selve secret — brug af den giver en invalid_client-fejl ved login. Hvis du navigerer væk før kopiering, slet secret'en og opret en ny.
Tip
Entra ID begrænser secret-livstiden til 24 måneder, så hver SSO-integration har en udløbsdato. Notér den et sted, hvor du ser den — en udløbet secret slukker SSO for alle brugere samtidigt, uden advarsel på login-siden.
Trin 4: Bekræft API-tilladelserne¶
- Gå til API permissions
- Bekræft at Microsoft Graph → User.Read (delegated) er til stede — det tilføjes som standard
De openid, profile og email scopes, som digna anmoder om, er del af standard OIDC-sættet og kræver ingen separat grant. Hvis din tenant kræver admin-consent for alle applikationer, klik Grant admin consent for
Trin 5: Byg Discovery-URL'en¶
Indsæt Directory (tenant) ID fra Trin 2:
Brug v2.0-endpointet
Segmentet /v2.0/ er vigtigt. v1.0-endpointet på https://login.microsoftonline.com/<tenant_id>/.well-known/openid-configuration udsteder tokens i et ældre format og returnerer ikke de standard OIDC-claims, som digna forventer.
Åbn URL'en i en browser før du fortsætter. Et JSON-dokument bekræfter, at tenant-id'et er korrekt.
Trin 6: Konfigurer digna¶
dashboard/dashboard_config.toml¶
config.toml¶
[oidc.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"
key i begge filer skal matche — microsoft her.
Trin 7: Test¶
Genstart backend og webserver, og åbn derefter dashboardet. Se Test af login for den fulde tjekliste.
Fejlfinding for Entra ID¶
AADSTS50011: Redirect URI-mismatch¶
URI'en i DIGNA_OIDC_REDIRECT_URI er forskellig fra den, der er registreret i Trin 1. Entra ID sammenligner hele strengværdien, så en afsluttende skråstreg, http kontra https, eller en anden port tæller alle som mismatch. Tjek Authentication → Web → Redirect URIs.
AADSTS7000215: Invalid Client Secret¶
Enten blev Secret ID kopieret i stedet for Value, eller secret'en er udløbet. Opret en ny secret og kopier kolonnen Value.
AADSTS650057: Invalid Resource¶
Applikationsregistreringen blev slettet eller tilhører en anden tenant end den i discovery-URL'en. Bekræft Directory (tenant) ID på Overview-siden.
Brugere logger ind, men der sker ingenting¶
Hvis tenant'en kræver admin-consent og det ikke er blevet givet, returnerer redirecten uden et brugbart token. Giv admin-consent under API permissions.
Se også¶
- Oversigt over Single Sign-On — konfigurationsreference, test og generel fejlfinding
- Microsoft: OAuth 2.0 autorisationskodeflow