使用 Logto 建立 ASP.NET Core 驗證
了解如何通過整合 Logto SDK 來建立 ASP.NET Core 的用戶驗證流程。
了解如何通過整合 Logto SDK 來建立 ASP.NET Core 的用戶驗證流程。
在這個教程中,我們將向你展示如何通過整合 Logto SDK 來構建 ASP.NET Core 的用戶驗證流程。教程使用 C# 作為編程語言。
在你開始之前,請確保你擁有以下條件:
要開始,請創建一個「傳統網頁」類型的 Logto 應用。按照這些步驟創建 Logto 應用:
然後你應該會看到一個互動教程,引導你完成將 Logto SDK 整合到你的 ASP.NET Core 應用程式中的過程。以下內容可以作為未來使用的參考。
請注意,ASP.NET Core 的最低支持版本為 6.0。
打開 Startup.cs 或 Program.cs,並添加以下程式碼來註冊 Logto 驗證中介軟體:
AddLogtoAuthentication 方法將做以下幾件事:
LogtoDefaults.CookieScheme。LogtoDefaults.AuthenticationScheme。LogtoDefaults.AuthenticationScheme。在 Logto 應用程式詳情頁中將以下 URI 添加到 重定向 URI 列表中:
要使用 Logto 登入,你可以使用 ChallengeAsync 方法:
ChallengeAsync 方法將把用戶重定向到 Logto 登入頁面。
RedirectUri 屬性用於在驗證後將用戶重定向回你的 web 應用程式。注意,它與在 Logto 應用程式詳情頁配置的重定向 URI 不同:
RedirectUri 屬性是執行 Logto 驗證中介軟體中的必要操作後將被重定向的 URI。動作的順序是 1 -> 2。為清晰起見,我們將 Logto 應用程式詳情頁中的重定向 URI 稱為 Logto 重定向 URI,而 RedirectUri 屬性稱為 應用程式重定向 URI。
Logto 重定向 URI 默認值為 /Callback,如果沒有特別要求,你可以保持不變。如果你想更改它,可以為 LogtoOptions 設置 CallbackPath 屬性:
記得在 Logto 應用程式詳情頁中相應更新該值。
在 Logto 應用程式詳情頁中將以下 URI 添加到 登出後重定向 URI 列表中:
要使用 Logto 登出,你可以使用 SignOutAsync 方法:
SignOutAsync 方法將清除驗證 cookie 並將用戶重定向到 Logto 登出頁面。
RedirectUri 屬性用於在登出後將用戶重定向回你的 web 應用程式。注意,它與在 Logto 應用程式詳情頁配置的登出後重定向 URI 不同:
RedirectUri 屬性是執行 Logto 驗證中介軟體中的必要操作後將被重定向的 URI。動作的順序是 1 -> 2。為清晰起見,我們將 Logto 應用程式詳情頁中的登出後重定向 URI 稱為 Logto 登出後重定向 URI,而 RedirectUri 屬性稱為 應用程式登出後重定向 URI。
Logto 登出後重定向 URI 默認值為 /SignedOutCallback,如果沒有特別要求,你可以保持不變。如果你想更改它,可以為 LogtoOptions 設置 SignedOutCallbackPath 屬性:
記得在 Logto 應用程式詳情頁中相應更新該值。
首先,將處理程序方法添加到你的 PageModel 中,例如:
然後,將按鈕添加到你的 Razor 頁面(html):
<p>Is authenticated: @User.Identity?.IsAuthenticated</p>
<form method="post">
@if (User.Identity?.IsAuthenticated == true)
{
<button type="submit" asp-page-handler="SignOut">Sign out</button>
} else {
<button type="submit" asp-page-handler="SignIn">Sign in</button>
}
</form>
如果用戶未驗證,則會顯示「Sign in」按鈕;如果用戶已驗證,則會顯示「Sign out」按鈕。
現在你可以運行 web 應用程式並嘗試使用 Logto 登入/登出:
如果在整合過程中遇到任何問題,請隨時通過電子郵件聯繫我們:[email protected] 或者加入我們的 Discord 伺服器!