Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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 ein Beispiel ASP.NET Webanwendung verwendet, um zu veranschaulichen, wie Azure Active Directory B2C (Azure AD B2C)-Authentifizierung zu Ihren Webanwendungen hinzugefügt wird.
Von Bedeutung
Das Beispiel ASP.NET Web-App, auf die in diesem Artikel verwiesen wird, kann nicht zum Aufrufen einer REST-API verwendet werden, da sie ein ID-Token und kein Zugriffstoken zurückgibt. Eine Web-App, die eine REST-API aufrufen kann, finden Sie unter Secure a Web API that's built with ASP.NET Core by using Azure AD B2C.
Überblick
OpenID Connect (OIDC) ist ein Authentifizierungsprotokoll, das auf OAuth 2.0 basiert. Sie können OIDC verwenden, um Benutzer sicher bei einer Anwendung anzumelden. In diesem Web-App-Beispiel wird Microsoft Identity Web verwendet. Microsoft Identity Web ist eine Reihe von ASP.NET Core-Bibliotheken, die das Hinzufügen von Authentifizierungs- und Autorisierungsunterstützung zu Web-Apps vereinfachen.
Der Anmeldeflow umfasst die folgenden Schritte:
- Benutzer navigieren zur Web-App und wählen Anmelden aus.
- Die App löst eine Authentifizierungsanforderung aus und leitet Benutzer an Azure AD B2C um.
- Benutzer registrieren oder melden sich an und setzen das Kennwort zurück. Alternativ können sie sich mit einem Social Media-Konto anmelden.
- Nachdem die Benutzer sich erfolgreicher angemeldet haben, gibt Azure AD B2C ein ID-Token an die App zurück.
- Die App überprüft das ID-Token, liest die Ansprüche und gibt eine sichere Seite an Benutzer zurück.
Wenn das ID-Token abgelaufen ist oder die App-Sitzung ungültig ist, initiiert die App eine neue Authentifizierungsanforderung und leitet Benutzer an Azure AD B2C weiter. 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.
Abmelden
Der Abmeldeflow umfasst die folgenden Schritte:
- In der App melden sich Benutzer ab.
- Die App löscht ihre Sitzungsobjekte, und die Authentifizierungsbibliothek leert ihren Tokencache.
- Die App leitet den Benutzer zum Azure AD B2C-Abmeldeendpunkt, um die Azure AD B2C-Sitzung zu beenden.
- Benutzer werden zurück zur App geleitet.
Voraussetzungen
Ein Computer, auf dem eine der folgenden Aktionen ausgeführt wird:
- Visual Studio 2022 17.0 oder höher mit der Arbeitsauslastung für ASP.NET und Webentwicklung
- .NET 6.0 SDK
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.
Führen Sie die folgenden Schritte aus, um die Web-App-Registrierung zu erstellen:
Melden Sie sich beim Azure-Portal an.
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.
Suchen Sie im Azure-Portal nach Azure AD B2C, und wählen Sie diese Option dann aus.
Wählen Sie App-Registrierungen aus, und wählen Sie dann Registrierung einer neuen Anwendung aus.
Geben Sie unter "Name" einen Namen für die Anwendung ein (z. B. webapp1).
Wählen Sie unter Unterstützte Kontotypen die Option Konten in einem beliebigen Identitätsanbieter oder Organisationsverzeichnis (zum Authentifizieren von Benutzenden mit Benutzerflows) aus.
Wählen Sie unter Umleitungs-URI die Option Web aus, und geben Sie
https://localhost:44316/signin-oidc
in das URL-Feld ein.Wählen Sie unter "Verwalten" die Option "Authentifizierung" aus, wechseln Sie zu "Implizite Erteilung" und "Hybridflüsse", aktivieren Sie das Kontrollkästchen "ID-Token" (verwendet für implizite und Hybridflüsse).
Aktivieren Sie unter Berechtigungen das Kontrollkästchen Administratoreinwilligung für OpenID- und Offlinezugriffsberechtigungen erteilen.
Wählen Sie Registrieren aus.
Wählen Sie Übersicht aus.
Notieren Sie sich die Anwendungs- bzw. Client-ID, die Sie später beim Konfigurieren der Webanwendung verwenden.
Schritt 3: Herunterladen des Web-App-Beispiels
Laden Sie die ZIP-Datei herunter, oder klonen Sie die Beispielwebanwendung von GitHub.
git clone https://github.com/Azure-Samples/active-directory-aspnetcore-webapp-openidconnect-v2
Extrahieren Sie die Beispieldatei in einen Ordner, bei dem die Gesamtlänge des Pfads 260 oder weniger Zeichen oder umfasst.
Schritt 4: Konfigurieren der Beispiel-Web-App
Öffnen Sie im Beispielordner unter dem Ordner 1-WebApp-OIDC/1-5-B2C/ das Projekt WebApp-OpenIDConnect-DotNet.csproj mit Visual Studio oder Visual Studio Code.
Öffnen Sie im Projektstammordner die Datei appsettings.json. Diese Datei enthält Informationen zu Ihrem Azure AD B2C-Identitätsanbieter. Aktualisieren Sie die folgenden Eigenschaften der App-Einstellungen:
`Section` | Schlüssel | Wert |
---|---|---|
AzureAdB2C | Beispiel | Der erste Teil Ihres Azure AD B2C-Mandantennamens (z. B. https://contoso.b2clogin.com ). |
AzureAdB2C | Domäne | Der vollständige Name Ihres Azure AD B2C-Mandanten Mandantenname (z. B., contoso.onmicrosoft.com ). |
AzureAdB2C | ClientId | Die Web App-Anwendungs-ID (Client) aus Schritt 2. |
AzureAdB2C | SignUpSignInPolicyId | Der Benutzer fließt oder benutzerdefinierte Richtlinie, die Sie in Schritt 1 erstellt haben. |
Die endgültige Konfigurationsdatei sollte wie der folgende JSON-Code aussehen:
"AzureAdB2C": {
"Instance": "https://contoso.b2clogin.com",
"Domain": "contoso.onmicrosoft.com",
"ClientId": "<web-app-application-id>",
"SignedOutCallbackPath": "/signout/<your-sign-up-in-policy>",
"SignUpSignInPolicyId": "<your-sign-up-in-policy>"
}
Schritt 5: Ausführen der Beispiel-Web-App
Erstellen Sie das Projekt, und führen Sie es aus.
Gehe zu
https://localhost:44316
.Wählen Sie "Registrieren/Anmelden" aus.
Schließen Sie den Registrierungs- oder Anmeldevorgang ab.
Nach erfolgreicher Authentifizierung wird Der Anzeigename auf der Navigationsleiste angezeigt. Um die Ansprüche anzuzeigen, die das Azure AD B2C-Token an Ihre App zurückgibt, wählen Sie "Ansprüche" aus.
Stellen Sie Ihre Anwendung bereit
In einer Produktionsanwendung handelt es sich bei dem Umleitungs-URI der App-Registrierung in der Regel um einen öffentlich zugänglichen Endpunkt, an dem Ihre App ausgeführt wird, z. B. https://contoso.com/signin-oidc
.
Sie können Umleitungs-URIs in Ihren registrierten Anwendungen jederzeit hinzufügen und ändern. Für Umleitungs-URIs gelten die folgenden Einschränkungen:
- Die Antwort-URL muss mit dem Schema
https
beginnen. - Bei der Antwort-URL muss die Groß-/Kleinschreibung beachtet werden. Die Groß-/Kleinschreibung muss der Groß-/Kleinschreibung des URL-Pfads Ihrer ausgeführten Anwendung entsprechen.
Nächste Schritte
- Erfahren Sie mehr über das Codebeispiel.
- Erfahren Sie, wie Sie die Authentifizierung in Ihrer eigenen Web-App mithilfe von Azure AD B2C aktivieren.