Erstellen Sie ASP.NET Core-Authentifizierung mit Logto
Lernen Sie, wie Sie einen Benutzerauthentifizierungsfluss mit ASP.NET Core erstellen, indem Sie das Logto SDK integrieren.
Lernen Sie, wie Sie einen Benutzerauthentifizierungsfluss mit ASP.NET Core erstellen, indem Sie das Logto SDK integrieren.
In diesem Tutorial zeigen wir Ihnen, wie Sie einen Benutzerauthentifizierungsfluss mit ASP.NET Core erstellen, indem Sie das Logto SDK integrieren. Das Tutorial verwendet C# als Programmiersprache.
Bevor Sie beginnen, stellen Sie sicher, dass Sie Folgendes haben:
Um zu beginnen, erstellen Sie eine Logto-Anwendung mit dem Typ "Traditionelles Web". Befolgen Sie diese Schritte, um eine Logto-Anwendung zu erstellen:
Danach sollten Sie ein interaktives Tutorial sehen, das Sie durch den Prozess der Integration von Logto SDK in Ihre ASP.NET Core-Anwendung führt. Der folgende Inhalt kann für eine zukünftige Referenz dienen.
Hinweis: Die Mindestversion von ASP.NET Core, die unterstützt wird, ist 6.0.
Öffnen Sie Startup.cs (oder Program.cs) und fügen Sie den folgenden Code hinzu, um die Logto Authentifizierung Middleware zu registrieren:
Die AddLogtoAuthentication Methode wird folgendes tun:
LogtoDefaults.CookieScheme.LogtoDefaults.AuthenticationScheme.LogtoDefaults.AuthenticationScheme.Fügen Sie die folgende URI zur Liste der Redirect URIs in der Detailseite der Logto-Anwendung hinzu:
Um sich mit Logto anzumelden, können Sie die ChallengeAsync Methode verwenden:
Die ChallengeAsync Methode leitet den Benutzer zur Anmeldeseite von Logto um.
Die RedirectUri Eigenschaft wird verwendet, um den Benutzer nach der Authentifizierung zurück zu Ihrer Webanwendung zu leiten. Beachten Sie, dass es sich von der Weiterleitungs-URI unterscheidet, die Sie auf der Detailseite der Logto-Anwendung konfiguriert haben:
RedirectUri Eigenschaft ist die URI, die umgeleitet wird, nachdem die notwendigen Aktionen in der Logto Authentifizierungs-Middleware durchgeführt wurden.Die Reihenfolge der Aktionen ist 1 -> 2. Zur Klarheit nennen wir die Weiterleitungs-URI auf der Detailseite der Logto-Anwendung die Logto Weiterleitungs-URI und die RedirectUri Eigenschaft die Anwendungsweiterleitungs-URI.
Die Logto Weiterleitungs-URI hat einen Standardwert von /Callback, den Sie so belassen können, wenn es keine besonderen Anforderungen gibt. Wenn Sie es ändern möchten, können Sie die CallbackPath Eigenschaft für LogtoOptions einstellen:
Vergessen Sie nicht, den Wert auf der Detailseite der Logto-Anwendung entsprechend zu aktualisieren.
Fügen Sie die folgende URI zur Liste der Post sign-out redirect URIs auf der Detailseite der Logto-Anwendung hinzu:
Um sich mit Logto abzumelden, können Sie die SignOutAsync Methode verwenden:
Die SignOutAsync Methode löscht das Authentifizierungs-Cookie und leitet den Benutzer zur Abmeldeseite von Logto um.
Die RedirectUri Eigenschaft wird verwendet, um den Benutzer nach der Abmeldung zurück zu Ihrer Webanwendung zu leiten. Beachten Sie, dass es sich von der Umleitungs-URI nach Abmeldung unterscheidet, die Sie auf der Detailseite der Logto-Anwendung konfiguriert haben:
RedirectUri Eigenschaft ist die URI, die umgeleitet wird, nachdem die notwendigen Aktionen in der Logto Authentifizierungs-Middleware durchgeführt wurden.Die Reihenfolge der Aktionen ist 1 -> 2. Zur Klarheit nennen wir die Weiterleitungs-URI nach Abmeldung auf der Detailseite der Logto-Anwendung die Logto Weiterleitungs-URI nach Abmeldung und die RedirectUri Eigenschaft die Anwendungs-Weiterleitungs-URI nach Abmeldung.
Die Logto Weiterleitungs-URI nach Abmeldung hat einen Standardwert von /SignedOutCallback, den Sie so belassen können, wenn es keine besonderen Anforderungen gibt. Wenn Sie es ändern möchten, können Sie die SignedOutCallbackPath Eigenschaft für LogtoOptions einstellen:
Vergessen Sie nicht, den Wert auf der Detailseite der Logto-Anwendung entsprechend zu aktualisieren.
Zunächst fügen Sie die Handler-Methoden zu Ihrem PageModel hinzu, zum Beispiel:
Dann fügen Sie die Buttons zu Ihrer Razor-Seite (html) hinzu:
<p>Ist authentifiziert: @User.Identity?.IsAuthenticated</p>
<form method="post">
@if (User.Identity?.IsAuthenticated == true)
{
<button type="submit" asp-page-handler="SignOut">Abmelden</button>
} else {
<button type="submit" asp-page-handler="SignIn">Anmelden</button>
}
</form>
Es zeigt den "Anmelden"-Button an, wenn der Benutzer nicht authentifiziert ist, und den "Abmelden"-Button, wenn der Benutzer authentifiziert ist.
Jetzt können Sie die Webanwendung ausführen und versuchen, sich mit Logto an- und abzumelden:
Wenn Sie während der Integration auf Probleme stoßen, zögern Sie nicht, uns per E-Mail unter [email protected] zu kontaktieren oder unserem Discord-Server beizutreten!