Schnellstart: Hinzufügen von „Bei Microsoft anmelden“ zu einer ASP.NET Core-Web-App
Willkommen! Dies ist wahrscheinlich nicht die Seite, die Sie erwartet haben. Während wir an einer Korrektur arbeiten, sollten Sie über diesen Link zum richtigen Artikel gelangen:
Schnellstart: Hinzufügen von „Bei Microsoft anmelden“ zu einer ASP.NET Core-Web-App
Wir entschuldigen uns für die Unannehmlichkeiten und bitten Sie um Geduld, während wir an einer Lösung arbeiten.
In dieser Schnellstartanleitung laden Sie ein Codebeispiel herunter und führen es aus, das zeigt, wie eine ASP.NET Core-Web-App Benutzer*innen aus einer beliebigen Microsoft Entra-Organisation anmelden kann.
Schritt 1: Konfigurieren Ihrer Anwendung im Azure-Portal
Damit das Codebeispiel in dieser Schnellstartanleitung funktioniert, müssen folgende Schritte ausgeführt werden:
- Geben Sie https://localhost:44321/ und https://localhost:44321/signin-oidc als Umleitungs-URI ein.
- Geben Sie unter URL für Front-Channel-Abmeldung die URL https://localhost:44321/signout-oidc ein.
Der Autorisierungsendpunkt gibt Anforderungs-ID-Token aus.
Ihre Anwendung ist mit diesen Attributen konfiguriert.
Schritt 2: Herunterladen des ASP.NET Core-Projekts
Führen Sie das Projekt aus.
Tipp
Es wird empfohlen, das Archiv in ein Verzeichnis in der Nähe des Stammverzeichnisses Ihres Laufwerks zu extrahieren, um Fehler zu vermeiden, die durch Beschränkungen der Pfadlänge unter Windows verursacht werden.
Schritt 3: Ihre App ist konfiguriert und betriebsbereit
Sie haben das Projekt mit Werten Ihrer App-Eigenschaften konfiguriert. Es ist nun ausführungsbereit.
Hinweis
Enter_the_Supported_Account_Info_Here
Weitere Informationen
In diesem Abschnitt erhalten Sie eine Übersicht über den erforderlichen Code für die Benutzeranmeldung. Diese Übersicht kann hilfreich sein, um die Funktionsweise des Codes und die Hauptargumente zu verstehen und zu ermitteln, wie Sie einer vorhandenen ASP.NET Core-Anwendung eine Anmeldung hinzufügen.
Funktionsweise des Beispiels
Startklasse
Von der Middleware Microsoft.AspNetCore.Authentication wird eine Klasse vom Typ Startup
verwendet. Sie wird ausgeführt, wenn der Hostprozess gestartet wird:
public void ConfigureServices(IServiceCollection services)
{
services.AddAuthentication(OpenIdConnectDefaults.AuthenticationScheme)
.AddMicrosoftIdentityWebApp(Configuration.GetSection("AzureAd"));
services.AddControllersWithViews(options =>
{
var policy = new AuthorizationPolicyBuilder()
.RequireAuthenticatedUser()
.Build();
options.Filters.Add(new AuthorizeFilter(policy));
});
services.AddRazorPages()
.AddMicrosoftIdentityUI();
}
Durch die Methode AddAuthentication()
wird der Dienst konfiguriert, um die cookiebasierte Authentifizierung hinzuzufügen. Diese Authentifizierung kommt in Browserszenarien zum Einsatz und dient dazu, die Aufforderung auf OpenID Connect festzulegen.
Durch die Zeile mit .AddMicrosoftIdentityWebApp
wird Ihrer Anwendung die Microsoft Identity Platform-Authentifizierung hinzugefügt. Die Anwendung wird anschließend für die Anmeldung von Benutzern basierend auf den Informationen im Abschnitt AzureAD
der Konfigurationsdatei appsettings.json konfiguriert:
appsettings.json (Schlüssel) | Beschreibung |
---|---|
ClientId |
Anwendungs-ID (Client) der im Azure-Portal registrierten Anwendung. |
Instance |
STS-Endpunkt (Security Token Service, Sicherheitstokendienst) für den zu authentifizierenden Benutzer. Dieser Wert ist in der Regel https://login.microsoftonline.com/ (öffentliche Azure-Cloud). |
TenantId |
Name Ihres Mandanten, Mandanten-ID (eine GUID) oder common für die Anmeldung von Benutzern mit Geschäfts-, Schul- oder Unikonto oder mit persönlichem Microsoft-Konto |
Die Methode Configure()
enthält mit app.UseAuthentication()
und app.UseAuthorization()
zwei wichtige Methoden, um die genannte Funktion zu aktivieren. Außerdem müssen Sie in der Configure()
-Methode die Routen von Microsoft Identity Web über mindestens einen Aufruf von endpoints.MapControllerRoute()
oder einen Aufruf von endpoints.MapControllers()
registrieren:
app.UseAuthentication();
app.UseAuthorization();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");
endpoints.MapRazorPages();
});
Attribut zum Schützen eines Controllers oder von Methoden
Sie können einen Controller oder Controllermethoden mithilfe des [Authorize]
-Attributs schützen. Dieses Attribut beschränkt den Zugriff auf den Controller oder die Methoden, indem nur authentifizierte Benutzer zugelassen werden. Wenn sich der Benutzer noch nicht authentifiziert hat, kann für den Zugriff auf den Controller eine Authentifizierungsabfrage gestartet werden.
Hilfe und Support
Wenn Sie Hilfe benötigen, ein Problem melden möchten oder sich über Ihre Supportoptionen informieren möchten, finden Sie weitere Informationen unter Hilfe und Support für Entwickler.
Nächste Schritte
Das GitHub-Repository mit diesem ASP.NET Core-Tutorial enthält Anleitungen und weitere Codebeispiele für Folgendes:
- Hinzufügen einer Authentifizierung zu einer neuen ASP.NET Core-Webanwendung
- Aufrufen von Microsoft Graph, anderer Microsoft-APIs oder Ihrer eigenen Web-APIs
- Hinzufügen der Autorisierung
- Anmelden von Benutzern in nationalen Clouds oder mit Identitäten sozialer Netzwerke