Freigeben über


Konfigurieren der Authentifizierung in einer Azure-Web-App mithilfe von Azure AD B2C

Von Bedeutung

Ab dem 1. Mai 2025 steht Azure AD B2C nicht mehr für neue Kunden zur Verfügung. Weitere Informationen finden Sie in unseren HÄUFIG gestellten Fragen.

In diesem Artikel wird erläutert, wie Sie azure Active Directory B2C (Azure AD B2C)-Authentifizierungsfunktionen zu einer Azure Web App hinzufügen. Weitere Informationen finden Sie im Artikel Konfigurieren Ihrer App Service- oder Azure Functions-App für die Anmeldung mit einem OpenID Connect-Anbieter .

Überblick

OpenID Connect (OIDC) ist ein Authentifizierungsprotokoll, das auf OAuth 2.0 basiert. Verwenden Sie das OIDC, um Benutzer sicher bei einer Azure Web App anzumelden. Der Anmeldeflow umfasst die folgenden Schritte:

  1. Benutzer wechseln zur Azure Web App, und wählen Sie "Anmelden" aus.
  2. Die Azure Web App initiiert eine Authentifizierungsanforderung und leitet Benutzer zu Azure AD B2C um.
  3. Benutzer registrieren oder melden sich an und setzen das Kennwort zurück. Alternativ können sie sich mit einem Social Media-Konto anmelden.
  4. Nachdem sich Benutzer erfolgreich angemeldet haben, gibt Azure AD B2C ein ID-Token an die Azure Web App zurück.
  5. Azure Web App überprüft das ID-Token, liest die Ansprüche und gibt eine sichere Seite an Benutzer zurück.

Wenn das ID-Token abläuft oder die App-Sitzung ungültig ist, initiiert Azure Web App eine neue Authentifizierungsanforderung und leitet Benutzer zu Azure AD B2C um. Wenn die Azure AD B2C-SSO-Sitzung aktiv ist, gibt Azure AD B2C ein Zugriffstoken aus, ohne die Benutzer zur erneuten Anmeldung aufzufordern. Wenn die Azure AD B2C-Sitzung abläuft oder ungültig wird, werden die Benutzer aufgefordert, sich erneut anzumelden.

Voraussetzungen

  • Wenn Sie noch keine App erstellt haben, befolgen Sie die Anleitung zum Erstellen einer Azure Web App.

Schritt 1: Konfigurieren Ihres Benutzerflows

Wenn Benutzer versuchen, sich bei Ihrer App anzumelden, startet die App über einen Benutzerflow eine Authentifizierungsanforderung an den Autorisierungsendpunkt. Der Benutzerflow definiert und kontrolliert die Benutzeroberfläche. Nachdem Benutzer den Benutzerflow abgeschlossen haben, generiert Azure AD B2C ein Token und leitet den Benutzer anschließend wieder zurück zu Ihrer Anwendung.

Falls noch nicht geschehen, erstellen Sie einen Benutzerflow oder eine benutzerdefinierte Richtlinie. Wiederholen Sie die Schritte, um drei separate Benutzerflows wie folgt zu erstellen:

  • Kombinierter Benutzerflow für Registrierung und Anmeldung, z. B. susi. Dieser Benutzerflow unterstützt auch die Umgebung Kennwort vergessen.
  • Benutzerflow für die Profilbearbeitung, z. B. edit_profile.
  • Benutzerflow für die Kennwortzurücksetzung, z. B. reset_password.

Azure AD B2C stellt B2C_1_ dem Benutzerflownamen voran. Beispielsweise wird susi zu B2C_1_susi.

Schritt 2: Registrieren einer Webanwendung

Damit sich Ihre Anwendung mit Azure AD B2C anmelden kann, müssen Sie Ihre App im Azure AD B2C-Verzeichnis registrieren. Durch die Registrierung Ihrer App wird eine Vertrauensstellung zwischen der App und Azure AD B2C hergestellt.

Während der App-Registrierung geben Sie den Umleitungs-URI an. Der Umleitungs-URI ist der Endpunkt, an den die Benutzer von Azure AD B2C umgeleitet werden, nachdem sie sich mit Azure AD B2C authentifiziert haben. Beim App-Registrierungsprozess wird eine Anwendungs-ID generiert, die auch als Client-ID bezeichnet wird und Ihre App eindeutig identifiziert. Nachdem Ihre App registriert wurde, verwendet Azure AD B2C sowohl die Anwendungs-ID als auch den Umleitungs-URI, um Authentifizierungsanforderungen zu erstellen. Sie erstellen auch einen geheimen Clientschlüssel, den Ihre App zum sicheren Abrufen der Token verwendet.

Schritt 2.1: Registrieren der App

Führen Sie die folgenden Schritte aus, um Ihre Anwendung zu registrieren:

  1. Melden Sie sich beim Azure-Portal an.

  2. Wenn Sie Zugriff auf mehrere Mandanten haben, wählen Sie das Symbol Einstellungen im Menü oben aus, um über das Menü Verzeichnisse + Abonnements zu Ihrem Azure AD B2C-Mandanten zu wechseln.

  3. Suchen Sie im Azure-Portal nach Azure AD B2C, und wählen Sie diese Option dann aus.

  4. Wählen Sie App-Registrierungen aus, und wählen Sie dann Registrierung einer neuen Anwendung aus.

  5. Geben Sie unter "Name" einen Namen für die Anwendung ein (z. B. "Meine Azure-Web-App").

  6. Wählen Sie unter Unterstützte Kontotypen die Option Konten in einem beliebigen Identitätsanbieter oder Organisationsverzeichnis (zum Authentifizieren von Benutzenden mit Benutzerflows) aus.

  7. Wählen Sie unter Umleitungs-URI die Option Web aus, und geben Sie https://<YOUR_SITE>/.auth/login/aadb2c/callback in das URL-Feld ein. Ersetzen Sie den <YOUR_SITE> Namen durch Ihren Azure Web App-Namen. Beispiel: https://contoso.azurewebsites.net/.auth/login/aadb2c/callback. Wenn Sie die benutzerdefinierten Domänen einer Azure Web App konfiguriert haben, verwenden Sie die benutzerdefinierte Domäne im Umleitungs-URI. Beispiel: https://www.contoso.com/.auth/login/aadb2c/callback

  8. Aktivieren Sie unter Berechtigungen das Kontrollkästchen Administratoreinwilligung für OpenID- und Offlinezugriffsberechtigungen erteilen.

  9. Wählen Sie Registrieren aus.

  10. Wählen Sie Übersicht aus.

  11. Notieren Sie sich die Anwendungs- bzw. Client-ID, die Sie später beim Konfigurieren der Webanwendung verwenden.

    Screenshot: Seite „Übersicht“ der Web-App zum Aufzeichnen Ihrer Webanwendungs-ID.

Schritt 2.2: Erstellen eines geheimen Clientschlüssels

  1. Wählen Sie auf der Seite "Azure AD B2C – App-Registrierungen " die anwendung aus, die Sie erstellt haben, z. B. "Meine Azure-Web-App".
  2. Wählen Sie im linken Menü unter "Verwalten" die Option "Zertifikate und Geheime Schlüssel" aus.
  3. Wählen Sie Neuen geheimen Clientschlüsselaus.
  4. Geben Sie im Feld Beschreibung eine Beschreibung für das Clientgeheimnis ein. Beispielsweise clientsecret1.
  5. Wählen Sie unter Läuft ab einen Zeitraum aus, für den das Geheimnis gültig ist, und wählen Sie dann Hinzufügen aus.
  6. Notieren Sie sich den Wert des Geheimnisses, das in Ihrem Clientanwendungscode verwendet werden soll. Dieser geheime Wert wird nicht erneut angezeigt, nachdem Sie diese Seite verlassen haben. Sie verwenden diesen Wert als Anwendungsgeheimnis im Code Ihrer Anwendung.

Schritt 3: Konfigurieren der Azure-App

  1. Melden Sie sich beim Azure-Portal an.

  2. Wenn Sie Zugriff auf mehrere Mandanten haben, wählen Sie im oberen Menü das Symbol "Einstellungen " aus, um im Menü "Verzeichnisse + Abonnements " zu Ihrem Microsoft Entra ID-Mandanten zu wechseln.

  3. Navigieren Sie zu Ihrer Azure-Web-App.

  4. Wählen Sie Authentifizierung im Menü auf der linken Seite. Wählen Sie "Identitätsanbieter hinzufügen" aus.

  5. Wählen Sie im Dropdownfeld „Identitätsanbieter“ OpenID Connect aus.

  6. Geben Sie für den Namen des OpenID-Anbieters den Namen aadb2c.

  7. Wählen Sie für Metadateneintrag die Option Dokument-URL aus. Geben Sie dann für die Dokument-URL die folgende URL an:

    https://<TENANT_NAME>.b2clogin.com/<TENANT_NAME>.onmicrosoft.com/<POLICY_NAME>/v2.0/.well-known/openid-configuration
    
    1. Ersetzen Sie <TENANT_NAME> durch den ersten Teil Ihres Azure AD B2C-Mandantennamens (z. B. https://contoso.b2clogin.com/contoso.onmicrosoft.com). Wenn Sie eine benutzerdefinierte Domäne konfiguriert haben, können Sie diese benutzerdefinierte Domäne verwenden. Ersetzen Sie Ihren B2C-Mandantennamen contoso.onmicrosoft.com in der Authentifizierungsanforderungs-URL durch Ihre Mandanten-ID-GUID. Sie können zum Beispiel https://fabrikamb2c.b2clogin.com/contoso.onmicrosoft.com/ zu https://account.contosobank.co.uk/<tenant ID GUID>/ ändern.

    2. Ersetzen Sie die <POLICY_NAME> durch die Benutzerflows oder die benutzerdefinierte Richtlinie, die Sie in Schritt 1 erstellt haben.

  8. Geben Sie als Client-ID die Web-App-ID (Client-ID) aus Schritt 2.1 an.

  9. Geben Sie als geheimen Clientschlüssel den geheimen Web-App-Schlüssel (Client) aus Schritt 2.2 an.

    Tipp

    Ihr geheimer Clientschlüssel wird als App-Einstellung gespeichert, um sicherzustellen, dass Geheimnisse auf sichere Weise gespeichert werden. Sie können diese Einstellung später aktualisieren, um Key Vault Verweise zu verwenden, wenn Sie den geheimen Schlüssel in Azure Key Vault verwalten möchten.

  10. Behalten Sie die restlichen Einstellungen mit den Standardwerten bei.

  11. Klicken Sie auf die Schaltfläche Hinzufügen, um die Einrichtung des Identitätsanbieters fertig zu stellen.

Schritt 4: Überprüfen der Azure Web App

  1. Navigieren Sie in Ihrem Browser mit https://<app-name>.azurewebsites.net zu Ihrer Azure-Web-App. Ersetzen Sie den <app-name> durch den Namen Ihrer Azure-Web-App.
  2. Schließen Sie den Registrierungs- oder Anmeldevorgang ab.
  3. Navigieren Sie in Ihrem Browser zur folgenden URL https://<app-name>.azurewebsites.net/.auth/me , um die Informationen über den angemeldeten Benutzer anzuzeigen. Ersetzen Sie den <app-name> durch den Namen Ihrer Azure-Web-App.

Abrufen von Token in App-Code

Die anbieterspezifischen Token werden aus dem Servercode in den Anforderungsheader eingefügt, sodass Sie problemlos darauf zugreifen können. Die folgende Tabelle zeigt mögliche Namen von Tokenheadern:

Kopfzeilenname BESCHREIBUNG
X-MS-CLIENT-PRINCIPAL-NAME Der Anzeigename des Benutzers.
X-MS-CLIENT-PRINCIPAL-ID Der Unteranspruch des ID-Tokens.
X-MS-CLIENT-PRINCIPAL-IDP Der Name des Identitätsanbieters, aadb2c.
X-MS-TOKEN-AADB2C-ID-TOKEN Das von Azure AD B2C ausgestellte ID-Token

Nächste Schritte