So verwenden Sie B2CORE als vertrauenswürdigen Identitätsanbieter (OIDC)

Erfahren Sie, wie Sie einer Drittanbieteranwendung ermöglichen, „Mit B2CORE anmelden“ anzubieten, indem Sie B2CORE als OpenID Connect (OIDC)-Identitätsanbieter verbinden

Dieser Leitfaden richtet sich an Broker, die einer anderen Anwendung — Ihrem eigenen Produkt, der App eines Partners oder einer Identitätsplattform wie Keycloak — ermöglichen möchten, Benutzer mit ihrem bestehenden B2CORE-Konto anzumelden, anstatt einen separaten Login zu erstellen.

B2CORE fungiert als OpenID Connect (OIDC)-Identitätsanbieter. Ihre Anwendung (die vertrauende Partei) leitet Benutzer zur Anmeldung an B2CORE weiter und erhält ein Token zurück, das ihre Identität bestätigt. Benutzer authentifizieren sich einmal über ihre B2CORE-Identität; sie erstellen kein separates Konto für Ihre App.

Dies ermöglicht Single Sign-on (SSO): Benutzer melden sich einmal mit ihrem B2CORE-Konto an und erhalten ohne separaten Login Zugriff auf Ihre verbundene Anwendung.

Für diese Funktion fällt eine einmalige Einrichtungsgebühr an. Wenden Sie sich an Ihren Account Manager oder unser Support-Team, um die Gebühr und Verfügbarkeit zu bestätigen, bevor Sie Zugriff anfordern.

Ist dies die richtige Lösung?

Verwenden Sie dies, wenn:

  • Sie eine Web- oder Mobil-App haben und eine Option „Mit B2CORE anmelden“ anbieten möchten.
  • Sie B2CORE in ein anderes Identitätssystem integrieren möchten, das Sie bereits betreiben (z. B. B2CORE als Identitätsanbieter in Ihrem eigenen Keycloak-Realm hinzufügen).

Dies ist Standard-OAuth2 / OIDC — jede gängige Bibliothek oder Identitätsplattform (Keycloak, Auth0, oidc-client-ts, openid-client, go-oidc, Passport, NextAuth und andere) kann dies nutzen, da alles, was der Client benötigt, in einem Discovery-Dokument veröffentlicht wird.

Was Sie vor der Zugriffsanforderung entscheiden müssen

Halten Sie Antworten auf Folgendes bereit — Ihr Account Manager wird danach fragen, wenn Ihre Anwendung registriert wird:

ElementWas wir benötigen
AnwendungsnameEin kurzer, für Menschen lesbarer Name (für unsere Unterlagen und eventuelle Zustimmungsbildschirme).
Weiterleitungs-URI(s)Die exakte(n) URL(s) in Ihrer App, die die Login-Antwort empfangen sollen, z. B. https://app.example.com/auth/callback. Sie müssen exakt übereinstimmen — Schema, Host, Pfad und abschließender Schrägstrich sind alle relevant.
Weiterleitungs-URI(s) nach AbmeldungWohin Benutzer nach der Abmeldung weitergeleitet werden, z. B. https://app.example.com/.
Scopesopenid ist immer erforderlich. Fügen Sie profile und email hinzu, wenn Sie den Namen/die E-Mail-Adresse des Benutzers benötigen. Fügen Sie offline_access nur hinzu, wenn Sie langlebige Refresh-Tokens benötigen.

Was Sie von uns erhalten

Sobald Ihre Anwendung registriert ist, erhalten Sie:

  • Eine Client-ID (entspricht dem von Ihnen angegebenen Anwendungsnamen).

  • Ein Client-Secret, das über einen sicheren Kanal bereitgestellt wird. Speichern Sie es so, wie Sie ein Datenbankpasswort speichern würden; es läuft nicht ab, kann aber auf Anfrage rotiert werden (siehe Wissenswertes).

  • Die OIDC-Discovery-URL für Ihre B2CORE-Instanz:

    https://<your-api-host>/srvsz/auth/hydra/v1/.well-known/openid-configuration

    Konfigurieren Sie Ihre OIDC-Bibliothek mit dieser einzelnen URL — sie erkennt die Endpunkte für Autorisierung, Token, Benutzerinformationen, JWKS und Abmeldung selbstständig. Sie sollten keinen der einzelnen Endpunkte fest codieren müssen.

Integration Ihrer Anwendung

  1. Konfigurieren Sie Ihre OIDC-Client-Bibliothek mit der Discovery-URL, der Client-ID und dem Client-Secret oben.
  2. Verwenden Sie den Authorization-Code-Flow mit PKCE, wenn Ihre Bibliothek ihn unterstützt (empfohlen für Web- und Mobil-Apps).
  3. Fordern Sie nur die Scopes an, die Sie tatsächlich benötigen — mindestens openid, sowie je nach Bedarf profile, email und offline_access.
  4. Rufen Sie für die Profilinformationen des Benutzers den Endpunkt /userinfo auf (oder dekodieren Sie das id_token), anstatt zu versuchen, Daten aus dem access_token auszulesen — das Access-Token ist undurchsichtig und nicht zum Parsen vorgesehen.
  5. Um einen Benutzer abzumelden, leiten Sie ihn zum end_session_endpoint des Discovery-Dokuments mit id_token_hint und Ihrer registrierten post_logout_redirect_uri weiter.

Föderation statt Integration einer benutzerdefinierten App? Wenn Sie B2CORE als Identitätsanbieter innerhalb einer anderen von Ihnen betriebenen Identitätsplattform hinzufügen (z. B. Keycloak) und nicht in einer benutzerdefinierten App, konfigurieren Sie es als generischen OpenID-Connect-Anbieter mit derselben Discovery-URL, Client-ID und demselben Client-Secret wie oben — die genauen Schritte hängen von Ihrer Plattform ab. Einige Plattformen verwenden eine feste Callback-URL, die an einen von Ihnen gewählten Anbieter-Alias gebunden ist (der Broker-Endpunkt von Keycloak ist ein Beispiel); falls dies bei Ihrer Plattform der Fall ist, stimmen Sie diesen Alias mit uns ab, bevor wir Ihre Weiterleitungs-URIs registrieren, da sie exakt übereinstimmen müssen.

Wissenswertes

Die Abmeldung ist nur lokal. Die Weiterleitung zum Abmeldeendpunkt beendet die Sitzung für Ihre App; sie meldet den Benutzer nicht von B2CORE selbst oder anderen Apps ab, bei denen er angemeldet ist. Derzeit gibt es keine appübergreifende Funktion „überall abmelden“.

Refresh-Tokens sind nur einmal verwendbar. Jede Aktualisierung gibt ein neues Refresh-Token zurück, das das vorherige ersetzt — verwenden Sie nach einer Aktualisierung kein altes erneut.

Weiterleitungs-URIs müssen exakt übereinstimmen. Fügen Sie alle lokalen/Entwicklungs-URLs, die Sie während der Tests benötigen, Ihrer ursprünglichen Anfrage hinzu; spätere Änderungen erfordern eine erneute Kontaktaufnahme mit uns.

Die Rotation Ihres Client-Secrets erfordert die Kontaktaufnahme mit dem B2Broker-Support. Zwischen der Erstellung des neuen Secrets durch uns und der Aktualisierung Ihrer App gibt es ein kurzes Zeitfenster, in dem Anmeldungen mit dem alten Secret fehlschlagen — planen Sie den Wechsel für Zeiten mit geringem Datenverkehr.

Tests nach der Einrichtung

  1. Starten Sie den Login-Flow aus Ihrer Anwendung (oder Ihrer Identitätsplattform bei einer Föderation) und bestätigen Sie, dass er über die B2CORE-Anmeldeseite weiterleitet.
  2. Melden Sie sich mit einem echten B2CORE-Konto an und bestätigen Sie, dass Sie angemeldet und mit den erwarteten Benutzerinformationen zu Ihrer App zurückkehren.
  3. Wenn Sie offline_access angefordert haben, testen Sie eine Token-Aktualisierung.
  4. Testen Sie den Abmelde-Flow und bestätigen Sie, dass er die Sitzung Ihrer App beendet.

Fragen / Support

Wenden Sie sich mit Ihrem Broker-Namen und den Anwendungsdetails aus der obigen Tabelle an Ihren B2Broker-Account-Manager oder den Support-Kanal.

Zuletzt aktualisiert am

Auf dieser Seite