Opsæt SSO med AD FS¶
Active Directory Federation Services er on-premises‑muligheden: dine egne servere udsteder tokenene, og discovery‑URL'en er dit eget værtsnavn. AD FS understøtter OpenID Connect fra Windows Server 2016 og fremefter.
Denne vejledning dækker AD FS-siden: oprettelse af applikationsgruppen og indsamling af de værdier, digna har brug for. Digna-siden — dashboard_config.toml, test og fejlfinding — er den samme for alle udbydere og beskrives i Single Sign-On Overview.
Før du går i gang¶
| Krav | Noter |
|---|---|
| AD FS version | Windows Server 2016 eller nyere — tidligere versioner understøtter ikke OIDC |
| Adgang | Lokal administrator på AD FS-serveren |
| Federation service name | f.eks. adfs.yourdomain.com |
| digna redirect URI | Den URL, brugerne vender tilbage til efter login, f.eks. https://digna.yourdomain.com/oidc/callback |
Trin 1: Opret applikationsgruppen¶
- På AD FS-serveren, åbn AD FS Management
- Højreklik på Application Groups og vælg Add Application Group
- Indtast
dignasom navn - Under Standalone applications — eller Client-Server applications afhængigt af din version — vælg Server application accessing a web API
- Klik Next
Trin 2: Konfigurer serverapplikationen¶
- Name:
digna backend - Client Identifier: AD FS genererer en GUID. Kopiér den — dette bliver
DIGNA_OIDC_CLIENT_ID - Redirect URI: indtast din digna callback‑URL og klik Add:
- Klik Next
Klik Tilføj, Ikke Kun Næste
Feltet til redirect URI har sin egen Add‑knap. Hvis du skriver en URI og klikker Next uden at trykke Add, bliver den kasseret, og guiden giver ingen advarsel. Bekræft, at URI'en dukker op i listen under feltet, før du fortsætter.
Trin 3: Generér den delte hemmelighed¶
- Sæt flueben ved Generate a shared secret
- Kopiér den genererede hemmelighed → bliver
DIGNA_OIDC_CLIENT_SECRET - Klik Next
Hemmeligheden vises kun én gang
AD FS viser den delte hemmelighed kun på denne side i guiden og kan ikke vise den igen. Hvis du mister den, nulstil den senere fra applikationsgruppens egenskaber.
Trin 4: Konfigurer Web API'et¶
- Identifier: indtast samme client identifier fra Trin 2 og klik Add
- Klik Next
- Vælg en Access Control Policy — Permit everyone er det simpleste udgangspunkt; begræns det til en gruppe i produktion
- Klik Next
Trin 5: Tildel de tilladte scopes¶
På trinnet Configure Application Permissions, sæt flueben ved:
openidprofileemail
Klik derefter Next og fuldfør guiden.
openid er ikke valgt som standard
AD FS forudvælger i nogle versioner kun user_impersonation. Uden openid returnerer token‑endpointet et OAuth access token i stedet for et ID‑token, og digna kan ikke identificere brugeren.
Trin 6: Bekræft discovery‑endpointet¶
Udskift dit federation service name:
For eksempel:
Åbn det i en browser. Et JSON‑dokument bekræfter, at OIDC er aktiveret, og at værtsnavnet er korrekt.
Backenden skal stole på certifikatet
En intern certifikatmyndighed er almindelig for AD FS. Maskinen, der kører digna‑backend, foretager sit eget udgående HTTPS‑kald til denne URL, så den udstedende CA skal være i den maskines trust store — ikke kun i browsere hos de personer, der logger ind.
Trin 7: Konfigurer digna¶
dashboard/dashboard_config.toml¶
config.toml¶
[oidc.adfs]
DIGNA_OIDC_CLIENT_ID = "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
DIGNA_OIDC_CLIENT_SECRET = "<the shared secret copied in Step 3>"
DIGNA_OIDC_REDIRECT_URI = "https://digna.yourdomain.com/oidc/callback"
DIGNA_OIDC_CONFIGURATION_URL = "https://adfs.yourdomain.com/adfs/.well-known/openid-configuration"
Nøglen key i begge filer skal matche — adfs her.
Trin 8: Test¶
Genstart backend og webserver, og åbn derefter dashboardet. Se Test af login for den komplette tjekliste.
Fejlfinding for AD FS¶
MSIS9611: The Client Is Not Allowed to Access the Resource¶
Web API‑identifikatoren i Trin 4 stemmer ikke overens med client identifier, eller scopes i Trin 5 blev ikke tildelt. Begge kan redigeres fra applikationsgruppens egenskaber.
MSIS9602: Invalid redirect_uri¶
URI'en blev indtastet, men ikke tilføjet med Add‑knappen, eller den afviger fra DIGNA_OIDC_REDIRECT_URI. Tjek Application Groups → digna → digna backend → Properties.
Der returneres intet ID‑token¶
openid‑scope mangler i applikations‑tilladelserne.
Backenden kan ikke nå discovery‑URL'en¶
Enten kan DNS på backend‑hosten ikke opløse federation service‑navnet, eller AD FS‑certifikatet er ikke betroet der. Test med curl https://adfs.yourdomain.com/adfs/.well-known/openid-configuration fra digna‑serveren selv.
Begivenheder at tjekke¶
AD FS‑serveren logger fejl i Applications and Services Logs → AD FS → Admin i Event Viewer, normalt med en mere specifik årsag end den, browseren viser.
Se også¶
- Single Sign-On Overview — konfigurationsreference, test og generel fejlfinding
- Microsoft: AD FS OpenID Connect scenarios