สร้างการยืนยันตัวตน ASP.NET Core ด้วย Logto
เรียนรู้วิธีสร้างการไหลของการยืนยันตัวตนของผู้ใช้ด้วย ASP.NET Core โดยการผนวก Logto SDK
เรียนรู้วิธีสร้างการไหลของการยืนยันตัวตนของผู้ใช้ด้วย ASP.NET Core โดยการผนวก Logto SDK
ในบทเรียนนี้ เราจะแสดงวิธีสร้างการไหลของการยืนยันตัวตนของผู้ใช้ด้วย ASP.NET Core โดยการผนวก Logto SDK บทเรียนใช้ภาษา C# เป็นภาษาการเขียนโปรแกรม
ก่อนที่คุณจะเริ่มต้น ตรวจสอบให้แน่ใจว่าคุณมีสิ่งต่อไปนี้:
เพื่อเริ่มต้น สร้างแอปพลิเคชัน Logto ด้วยประเภท "Traditional web" ทำตามขั้นตอนเหล่านี้เพื่อสร้างแอปพลิเคชัน Logto:
จากนั้นคุณควรเห็นบทเรียนแบบโต้ตอบที่แนะนำคุณผ่านกระบวนการผนวก Logto SDK กับแอปพลิเคชัน ASP.NET Core ของคุณ เนื้อหาต่อไปนี้สามารถเป็นข้อมูลอ้างอิงสำหรับการใช้งานในอนาคต
หมายเหตุ: เวอร์ชันขั้นต่ำที่รองรับของ ASP.NET Core คือ 6.0
เปิด Startup.cs (หรือ Program.cs) และเพิ่มโค้ดต่อไปนี้เพื่อจดทะเบียนกลางการยืนยันตัวตน Logto:
เมธอด AddLogtoAuthentication จะทำสิ่งต่อไปนี้:
LogtoDefaults.CookieSchemeLogtoDefaults.AuthenticationSchemeLogtoDefaults.AuthenticationSchemeเพิ่ม URI ต่อไปนี้ลงในรายการ Redirect URIs ในหน้ารายละเอียดแอปพลิเคชัน Logto:
เพื่อเข้าสู่ระบบด้วย Logto คุณสามารถใช้เมธอด ChallengeAsync:
เมธอด ChallengeAsync จะเปลี่ยนเส้นทางผู้ใช้ไปยังหน้าลงชื่อเข้าใช้ Logto
คุณสมบัติ RedirectUri ถูกใช้เพื่อเปลี่ยนเส้นทางผู้ใช้กลับไปยังแอปพลิเคชันเว็บของคุณหลังจากการยืนยันตัวตน โปรดทราบว่านี่จะแตกต่างจาก URI ของการเปลี่ยนเส้นทางที่คุณกำหนดค่าในหน้ารายละเอียดแอปพลิเคชัน Logto:
RedirectUri คือ URI ที่จะแปลค่าไปหลังจากที่มีการดำเนินการที่จำเป็นในกลางการยืนยันตัวตน Logtoลำดับของการกระทำคือ 1 -> 2 เพื่อความชัดเจน เราจะเรียก URI ของการเปลี่ยนเส้นทางในหน้ารายละเอียดแอปพลิเคชัน Logto ว่า Logto redirect URI และคุณสมบัติ RedirectUri ว่า application redirect URI
Logto redirect URI มีค่าพื้นฐานเป็น /Callback ซึ่งคุณสามารถปล่อยให้เป็นอยู่อย่างที่เป็นถ้าไม่มีความต้องการพิเศษ หากคุณต้องการเปลี่ยนมัน คุณสามารถตั้งค่าคุณสมบัติ CallbackPath สำหรับ LogtoOptions:
จำที่จะอัปเดตค่านี้ในหน้ารายละเอียดแอปพลิเคชัน Logto ด้วย
เพิ่ม URI ต่อไปนี้ลงในรายการ Post sign-out redirect URIs ในหน้ารายละเอียดแอปพลิเคชัน Logto:
เพื่อออกจากระบบด้วย Logto คุณสามารถใช้เมธอด SignOutAsync:
เมธอด SignOutAsync จะลบคุกกี้การยืนยันตัวตนและนำทางผู้ใช้ไปยังหน้าลงชื่อออกของ Logto
คุณสมบัติ RedirectUri ถูกใช้เพื่อเปลี่ยนเส้นทางผู้ใช้กลับไปยังแอปพลิเคชันเว็บของคุณหลังจากที่ออกจากระบบ โปรดทราบว่านี่จะแตกต่างจาก URI ของการเปลี่ยนเส้นทางหลังออกจากระบบที่คุณกำหนดค่าในหน้ารายละเอียดแอปพลิเคชัน Logto:
RedirectUri คือ URI ที่จะเปลี่ยนเส้นทางไปหลังจากที่มีการดำเนินการที่จำเป็นในตัวการยืนยันตัวตน Logtoลำดับของการกระทำคือ 1 -> 2 เพื่อความชัดเจน เราจะเรียก URI ของการเปลี่ยนเส้นทางหลังออกจากระบบในหน้ารายละเอียดแอปพลิเคชัน Logto ว่า Logto post sign-out redirect URI และคุณสมบัติ RedirectUri ว่า application post sign-out redirect URI
Logto post sign-out redirect URI มีค่าพื้นฐานเป็น /SignedOutCallback ซึ่งคุณสามารถปล่อยให้เป็นอยู่อย่างที่เป็นถ้าไม่มีความต้องการพิเศษ หากคุณต้องการเปลี่ยนมัน คุณสามารถตั้งค่าคุณสมบัติ SignedOutCallbackPath สำหรับ LogtoOptions:
จำที่จะอัปเดตค่านี้ในหน้ารายละเอียดแอปพลิเคชัน Logto ด้วย
ก่อนอื่น เพิ่มเมธอดตัวจัดการไปยัง PageModel ของคุณ ตัวอย่างเช่น:
จากนั้น เพิ่มปุ่มไปยังหน้าราเซอร์ของคุณ (html):
<p>ตรวจสอบแล้ว: @User.Identity?.IsAuthenticated</p>
<form method="post">
@if (User.Identity?.IsAuthenticated == true)
{
<button type="submit" asp-page-handler="SignOut">ลงชื่อออก</button>
} else {
<button type="submit" asp-page-handler="SignIn">ลงชื่อเข้า</button>
}
</form>
มันจะแสดงปุ่ม "ลงชื่อเข้า" หากผู้ใช้ยังไม่ได้ยืนยันตัวตนและแสดงปุ่ม "ลงชื่อออก" หากผู้ใช้ได้ยืนยันตัวตนแล้ว
ตอนนี้คุณสามารถรันแอปพลิเคชันเว็บและลองลงชื่อเข้า/ออกด้วย Logto:
หากคุณพบปัญหาใด ๆ ระหว่างการผนวก โปรดอย่าลังเลที่จะติดต่อเราทางอีเมลที่ [email protected] หรือ เข้าร่วมเซิร์ฟเวอร์ Discord ของเรา!