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.

  1. Dazu navigiert man zum Menüpunkt App-Registrierungen

    Nicht zu verwechseln mit dem Punkt "Unternehmensanwendungen". Diese ist dort aber später auch zu finden.

    new app 1
  2. Anschließend wird ein beschreibender Name vergeben.

    new app 2
  3. Anschließend muss für den Client (Keycloak) ein geheimer Schlüssel erzeugt werden.

    add client secret 1
  4. 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.

    add client secret 2
  5. Anschließend muss man zusätzlich zum geheimen Schlüssel noch die Client-ID und die URL für die OpenID Connect Konfiguration ermitteln.

    azure get url and id

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

add idp 1
  1. 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.

    add idp 2
  2. 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.

    add idp 3
  3. Zum Abschluss sind die Client-ID und der geheime Schlüssel einzutragen.

    add idp 4
  4. Die Redirect URI aus dem vorherigen Schritt ist nun noch im Azure AD zu hinterlegen.

    set callback url

Ergebnis

Abschließend sollte eine Login-Maske mit zusätzlichen Buttons bereitstehen.

login

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.

  1. Unternehmensanwendungen im Azure AD öffnen.

    azure debug 1
  2. Die eigene Anwendung/APP auswählen.

    azure debug 2
  3. Anmeldeprotokolle öffnen.

    azure debug 3

Keywords: