Zum Inhalt

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):

  1. OIDC-Modul aktiv anhaken.
  2. Aussteller, Client-ID, Geheimnis und Rückruf-Adresse eintragen.
  3. Scopes: openid profile email.
  4. Konto zuordnen über: Anmeldename.
  5. Claim mit dem Anmeldenamen: bei Entra und Keycloak preferred_username, bei AD FS meist upn.
  6. Domäne abschneiden anhaken, wenn Ihre Konten in KCForms anna heißen und nicht anna@firma.de.
  7. Gruppen-Claim und Gruppen-Zuordnung (siehe unten).
  8. Unbekannte Identität automatisch anlegen, wenn neue Mitarbeitende ohne Vorarbeit hineinkommen sollen.
  9. Anmeldung mit Passwort zusätzlich erlauben — damit der Admin und Dienstkonten weiter hineinkommen.
  10. Verbindung testen, dann Speichern.
  11. 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:

kcforms-nutzer     = WIN_NUTZER
kcforms-fachadmins = WIN_FACHADMIN
  • 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.