Microsoft Azure AD als IdP im Keycloak einrichten
Diese Seite beschreibt, wie man Microsoft Azure AD als zusätzlichen Identity Provider (IdP) hinterlegt. Dies wird dann auf der Login-Seite als zusätzlicher Button angeboten.
Einrichtung einer Anwendung im Microsoft Azure AD
Damit sich Keycloak authentifizieren kann, muss dieser als Anwendung im Azure Active Directory(AD) hinterlegt werden.
Neue Anwendung hinzufügen
Zuerst muss eine neue "App" im Azure AD registriert werden.
-
Dazu navigiert man zum Menüpunkt App-Registrierungen
Nicht zu verwechseln mit dem Punkt "Unternehmensanwendungen". Diese ist dort aber später auch zu finden.
-
Anschließend wird ein beschreibender Name vergeben.
-
Anschließend muss für den Client (Keycloak) ein geheimer Schlüssel erzeugt werden.
-
Der Schlüssel wird nach dem Erzeugen direkt angezeigt und sollte direkt gesichert werden. Es ist später nicht mehr möglich den Schlüssel einzusehen. Sollte der Schlüssel verloren gehen, so muss ein neuer erzeugt werden.
-
Anschließend muss man zusätzlich zum geheimen Schlüssel noch die Client-ID und die URL für die OpenID Connect Konfiguration ermitteln.
IdP im Keycloak hinterlegen
Nun kann man im Keycloak einen neuen Identity Provider anlegen.
Hier ist nicht "Microsoft" unter "Social" auszuwählen. Für diese Option muss der Client im Azure AD anders konfiguriert werden, da in dem Fall der Login mit jeglichen Microsoft Konten ermöglicht wird (auch außerhalb der eigenen Organisation). |
-
Im ersten Schritt sollte ein Alias vergeben werden. Diese hat Auswirkung auf die Redirect URI, die wir später noch benötigen. Der Display-Name bestimmt am Ende die Bezeichnung in der Login-Maske der Anwendung.
-
Als Nächstes sollte die OpenID Connect URL aus dem Azure AD genutzt werden, um die Endpunkte zu konfigurieren. Dafür ist diese entsprechend einzutragen und per "Import" Button zu laden.
Anschließend werden alle relevanten URLs automatisch befüllt. -
Zum Abschluss sind die Client-ID und der geheime Schlüssel einzutragen.
-
Die Redirect URI aus dem vorherigen Schritt ist nun noch im Azure AD zu hinterlegen.
Fehlerbehebung
In diesem Setup ist es nicht so einfach Fehler zu finden. Eine Quelle können die Logs im Keycloak sein. Im Zweifel ist hier aber entscheiden, was auf Seite von Azure AD nicht stimmt. Um fehlerhafte Anmeldungen zu sehen, muss man sich wie folgt durch die Oberfläche bewegen.
-
Unternehmensanwendungen im Azure AD öffnen.
-
Die eigene Anwendung/APP auswählen.
-
Anmeldeprotokolle öffnen.