Windows-Anmeldung (Single Sign-On mit Active Directory)¶
Administration → Benutzer & Zugang → OIDC (Entra ID, AD FS, BankID-Broker)
In vielen Behörden und Firmen meldet man sich morgens einmal an Windows an. Danach sollen alle Programme die Person schon kennen. Das heißt Single Sign-On. Diese Seite erklärt, wie KCForms das macht.
Wie es funktioniert¶
KCForms fragt nicht selbst bei Windows nach. Es fragt einen Anmeldedienst Ihrer Organisation. Der Anmeldedienst kennt Windows und das Active Directory.
sequenceDiagram
actor P as Person am Windows-PC
participant K as KCForms
participant A as Anmeldedienst
participant D as Active Directory
P->>K: öffnet KCForms
K->>A: Bitte melde diese Person an (OIDC)
A->>P: Wer bist du? (Kerberos)
P->>A: Windows-Ticket (ohne Eingabe)
A->>D: Person und Gruppen nachsehen
A->>K: Das ist anna, Gruppe kcforms-nutzer
K->>P: Angemeldet
Die Person tippt dabei nichts. Hat sie kein Windows-Ticket (privater Rechner, Smartphone, von unterwegs), zeigt der Anmeldedienst sein normales Anmeldeformular.
Welcher Anmeldedienst?¶
| Sie haben … | Anmeldedienst | Hinweis |
|---|---|---|
| Microsoft 365 / Microsoft Entra ID | Entra ID | Auf Entra-verbundenen Geräten meldet Windows die Person ohne Rückfrage an. |
| nur ein Active Directory, mit AD FS | AD FS | AD FS macht im Intranet die Windows-Anmeldung. |
| nur ein Active Directory, ohne AD FS | Keycloak (kostenlos) | Keycloak liest das AD und spricht Kerberos. Er kann auch anderen Programmen dienen. |
Warum KCForms Kerberos nicht selbst spricht? Kurz: Microsoft schaltet NTLM ab, Kerberos braucht in jeder Anwendung eine eigene Schlüsseldatei, und es geht nur im Firmennetz. Ein Anmeldedienst löst das einmal für alle Programme.
Einrichten in drei Schritten¶
1. Beim Anmeldedienst KCForms anmelden¶
Ihre IT legt KCForms als Anwendung an. Sie braucht dafür:
| Angabe | Wert |
|---|---|
| Anwendungstyp | Web-Anwendung, vertraulich (mit Geheimnis) |
| Rückruf-Adresse (Redirect-URI) | https://<ihr-kcforms>/api/auth/oidc/callback |
| Ablauf | Authorization Code mit PKCE |
| Angaben im Token | Anmeldename, Name, E-Mail, Gruppen oder Rollen |
Die IT gibt Ihnen zurück: Aussteller-Adresse (Issuer), Client-ID und Geheimnis (Client-Secret).
Hinter den Kulissen: Aussteller-Adressen der drei Anmeldedienste
| Dienst | Aussteller-Adresse |
|---|---|
| Entra ID | https://login.microsoftonline.com/<Mandanten-ID>/v2.0 |
| AD FS | https://<adfs-server>/adfs |
| Keycloak | https://<keycloak>/realms/<realm> |
KCForms hängt /.well-known/openid-configuration an und liest dort alle
weiteren Adressen.
2. In KCForms eintragen¶
Unter Administration → Benutzer & Zugang → OIDC (Entra ID, AD FS, BankID-Broker):
- OIDC-Modul aktiv anhaken.
- Aussteller, Client-ID, Geheimnis und Rückruf-Adresse eintragen.
- Scopes:
openid profile email. - Konto zuordnen über: Anmeldename.
- Claim mit dem Anmeldenamen: bei Entra und Keycloak
preferred_username, bei AD FS meistupn. - Domäne abschneiden anhaken, wenn Ihre Konten in KCForms
annaheißen und nichtanna@firma.de. - Gruppen-Claim und Gruppen-Zuordnung (siehe unten).
- Unbekannte Identität automatisch anlegen, wenn neue Mitarbeitende ohne Vorarbeit hineinkommen sollen.
- Anmeldung mit Passwort zusätzlich erlauben — damit der Admin und Dienstkonten weiter hineinkommen.
- Verbindung testen, dann Speichern.
- Unter Administration → Benutzer & Zugang → Anmeldung die aktive Anmeldeart auf OIDC stellen.
3. Anmeldeseite überspringen¶
Haken Sie Anmeldeseite überspringen an. Dann sieht niemand mehr die Anmeldeseite von KCForms. Wer KCForms öffnet, ist sofort angemeldet.
Die Anmeldeseite bleibt trotzdem stehen, wenn
- sich jemand abgemeldet hat (sonst wäre er sofort wieder drin),
- die Sitzung abgelaufen ist (der Bildschirm war unbeaufsichtigt),
- bei der Anmeldung ein Fehler passiert ist.
Ein Klick auf den Knopf meldet dann wieder an.
Rückweg für den Admin
Hängen Sie ?local=1 an die Adresse, z. B. https://kcforms.firma.de/?local=1.
Dann bleibt die Anmeldeseite stehen, und Sie können sich mit Passwort
anmelden.
Gruppen aus dem Active Directory¶
KCForms kann die Gruppen aus dem Anmeldedienst übernehmen. Tragen Sie je Zeile ein, welche Gruppe dort zu welcher Gruppe in KCForms gehört:
- Nur Gruppen, die in dieser Tabelle stehen, werden bei jeder Anmeldung gesetzt oder entzogen.
- Gruppen, die ein Admin in KCForms von Hand vergeben hat, bleiben.
- Bei Entra ID nehmen Sie besser App-Rollen (Claim
roles) als Gruppen: Gruppen kommen dort als lange Kennungen, und ab etwa 200 Gruppen schickt Entra gar keine mehr mit.
Was der Browser braucht¶
| Anmeldedienst | Einstellung am PC |
|---|---|
| Entra ID | Edge: nichts. Chrome: Erweiterung „Microsoft Single Sign On“. Firefox: Windows-SSO einschalten. |
| AD FS / Keycloak | Die Adresse des Anmeldedienstes muss in der Intranet-Zone stehen (Gruppenrichtlinie). Für Chrome/Edge zusätzlich AuthServerAllowlist. |
Die Adresse von KCForms muss dafür in keiner Liste stehen — nur die des Anmeldedienstes.
Wenn es nicht klappt¶
| Was Sie sehen | Häufigster Grund |
|---|---|
| Das Formular des Anmeldedienstes statt sofortiger Anmeldung | Der PC hat kein Ticket für den Anmeldedienst: Adresse nicht in der Intranet-Zone, PC nicht in der Domäne, oder von unterwegs ohne VPN. |
| „Für Ihr Konto gibt es noch keinen Zugang“ | Kein Konto in KCForms und „automatisch anlegen“ ist aus. |
| „Der Anmeldedienst hat keine Kennung mitgeschickt“ | Der eingestellte Claim fehlt im Token. Claim-Namen prüfen. |
| „Die Antwort … passt nicht zu dieser Anmeldung“ | Aussteller-Adresse in KCForms stimmt nicht mit der des Anmeldedienstes überein, oder die Anmeldung wurde in einem anderen Fenster gestartet. |