ข้ามไปยังเนื้อหาหลัก

WebAuthn

ภาพรวม

เรายินดีที่จะแจ้งให้ลูกค้า Casdoor ทราบว่า Casdoor ตอนนี้รองรับการเข้าสู่ระบบด้วย WebAuthn นั่นหมายความว่าคุณสามารถเข้าสู่ระบบโดยใช้การระบุตัวตนทางชีวภาพ เช่น ลายนิ้วมือหรือการจดจำใบหน้า หรือแม้แต่ U-disks ได้ ถ้าหากอุปกรณ์ของคุณรองรับวิธีการอนุมัติเหล่านี้และ WebAuthn

WebAuthn คืออะไร?

WebAuthn คือ Web Authentication API, ข้อกำหนดที่เขียนโดย W3C และ FIDO ร่วมกับ Google, Mozilla, Microsoft, Yubico และอื่นๆ API นี้ช่วยให้เซิร์ฟเวอร์สามารถลงทะเบียนและตรวจสอบสิทธิ์ผู้ใช้โดยใช้การเข้ารหัสแบบคีย์สาธารณะแทนการใช้รหัสผ่าน มันช่วยให้เซิร์ฟเวอร์สามารถรวมกับตัวตรวจสอบสิทธิ์ที่แข็งแกร่งที่ติดตั้งอยู่ในอุปกรณ์ เช่น Windows Hello หรือ Touch ID ของ Apple

พูดง่ายๆ คือ WebAuthn ต้องการให้ผู้ใช้สร้างคู่คีย์สาธารณะ-คีย์ส่วนตัว และให้คีย์สาธารณะกับเว็บไซต์ เมื่อผู้ใช้ต้องการเข้าสู่ระบบเว็บไซต์ ทางเว็บจะสร้างตัวเลขสุ่มและขอให้ผู้ใช้เข้ารหัสมันด้วยคีย์ส่วนตัวและส่งผลลัพธ์กลับมา เมื่อได้รับผลลัพธ์ เว็บไซต์จะใช้คีย์สาธารณะในการถอดรหัส ถ้าตัวเลขที่ถอดรหัสได้ตรงกับตัวเลขสุ่มที่สร้างขึ้นก่อนหน้านี้ ผู้ใช้จะถือว่าเป็นผู้ใช้ที่ถูกต้องและได้รับอนุญาตให้เข้าสู่ระบบ การรวมกันของคีย์สาธารณะและข้อมูลที่จำเป็น เช่น ชื่อผู้ใช้หรือข้อมูลเกี่ยวกับผู้อนุมัติของผู้ใช้ ถูกเรียกว่า WebAuthn Credential ซึ่งจะถูกเก็บไว้โดยเว็บไซต์

คู่คีย์สาธารณะ-คีย์ส่วนตัวนั้นเกี่ยวข้องอย่างเฉพาะเจาะจงและเป็นเอกลักษณ์กับสามชิ้นส่วนของข้อมูล: ชื่อผู้ใช้, ผู้อนุมัติของผู้ใช้ และ URL ของเว็บไซต์ นั่นหมายความว่าถ้าการรวมกันของ (ชื่อผู้ใช้, ผู้อนุมัติของผู้ใช้ และ URL ของเว็บไซต์) เป็นเหมือนกัน คู่คีย์ควรจะเหมือนกัน และในทางกลับกัน

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับเทคโนโลยี WebAuthn คุณสามารถเยี่ยมชม https://webauthn.guide/

วิธีการใช้ WebAuthn ใน Casdoor?

บนหน้าเข้าสู่ระบบ คุณอาจสังเกตเห็นตัวเลือกในการเข้าสู่ระบบโดยใช้ WebAuthn อย่างไรก็ตาม ถ้าคุณยังไม่มี WebAuthn credential (ซึ่งสามารถเปรียบเทียบได้กับรหัสผ่าน WebAuth) บทช่วยสอนนี้จะแสดงวิธีการสร้างและจัดการ credential และจากนั้นเข้าสู่ระบบโดยใช้มัน

ขั้นตอนที่ 0: ปรับการตั้งค่าและเปิดใช้งานการตรวจสอบสิทธิ์ WebAuthn

ในไฟล์ conf/app.conf คุณสามารถหาการตั้งค่าต่อไปนี้:

origin = "http://localhost:8000"

โปรดตรวจสอบให้แน่ใจว่าการตั้งค่านี้ตรงกับ URL ของเว็บไซต์ของคุณอย่างแน่นอน

หมายเหตุ: WebAuthn รองรับเฉพาะ HTTPS เท่านั้น ยกเว้นถ้าคุณกำลังใช้ localhost

ต่อไป ให้เข้าสู่ระบบเป็นผู้ดูแลระบบและไปที่หน้าแก้ไขของแอปพลิเคชันของคุณ เปิดสวิตช์ "Enable WebAuthn signin" โดยค่าเริ่มต้น คุณลักษณะนี้จะไม่ถูกเปิดใช้งาน

ขั้นตอนที่ 1: ไปที่หน้า 'บัญชีของฉัน'

นำทางไปยังหน้าบัญชี บนหน้านี้ คุณควรจะเห็นปุ่ม 'เพิ่ม WebAuthn Credential' และรายการที่แสดง WebAuthn credentials ที่คุณได้ลงทะเบียนไว้ก่อนหน้านี้

WebAuthn1

คลิกปุ่มและทำตามคำแนะนำของอุปกรณ์ของคุณเพื่อลงทะเบียน credential ใหม่ใน Casdoor คุณสามารถลบ credentials ใดๆ โดยใช้ปุ่ม 'delete' ในรายการ

ขั้นตอนที่ 2: เข้าสู่ระบบโดยใช้ WebAuthn

ก่อนเริ่มขั้นตอนนี้ ตรวจสอบให้แน่ใจว่าคุณได้ออกจากระบบ Casdoor

ไปที่หน้าเข้าสู่ระบบ เลือกวิธีการเข้าสู่ระบบ WebAuthn ใส่ชื่อผู้ใช้ของคุณ และคลิกปุ่มเข้าสู่ระบบ ทำตามคำแนะนำของอุปกรณ์ของคุณ

(ตัวอย่างเช่น ถ้าคุณกำลังใช้ลายนิ้วมือและ Windows Hello คุณควรจะเห็นบางอย่างเช่นนี้)

WebAuthn2

จากนั้นคุณจะเข้าสู่ระบบได้สำเร็จ