นโยบายชื่อผู้ใช้
Logto บังคับใช้กฎพื้นฐานของชื่อผู้ใช้เสมอ: ชื่อผู้ใช้ต้องประกอบด้วยเฉพาะตัวอักษร ตัวเลข และขีดล่าง (_) เท่านั้น, ต้องไม่ขึ้นต้นด้วยตัวเลข และต้องมีความยาวไม่เกิน 128 ตัวอักษร นอกเหนือจากกฎพื้นฐานนี้ คุณสามารถกำหนดนโยบายชื่อผู้ใช้เพิ่มเติมเพื่อจำกัดตัวเลือกชื่อผู้ใช้ของผู้ใช้ปลายทาง เช่น การทำให้ชื่อผู้ใช้ไม่แยกแยะตัวพิมพ์เล็ก / ใหญ่, การกำหนดช่วงความยาวให้แคบลง, หรือจำกัดประเภทอักขระที่อนุญาต
Logto จะบังคับใช้นโยบายชื่อผู้ใช้แตกต่างกันไปตามวิธีที่ชื่อผู้ใช้ถูกสร้างหรืออัปเดต:
- กระบวนการฝั่งผู้ใช้ปลายทาง เช่น ประสบการณ์การลงชื่อเข้าใช้สำเร็จรูป, Account API, และ Account Center จะบังคับใช้นโยบายชื่อผู้ใช้ปัจจุบันเสมอ ผู้ใช้จะเห็นข้อกำหนดของนโยบายในหน้าชื่อผู้ใช้และได้รับข้อผิดพลาดแบบอินไลน์เมื่อกรอกชื่อผู้ใช้ที่ละเมิดนโยบาย
- การดำเนินการของผู้ดูแลระบบผ่าน Management API (เช่น
POST /api/users) จะได้รับการยกเว้นจากนโยบายนี้และใช้เฉพาะกฎพื้นฐานเท่านั้น ช่วยให้คุณสามารถจัดเตรียมหรือย้ายข้อมูลผู้ใช้โดยไม่ต้องตรวจสอบนโยบายเมื่อจำเป็น
การอัปเดตนโยบายจะไม่เปลี่ยนแปลงหรือทำให้ชื่อผู้ใช้ที่มีอยู่เดิมใช้ไม่ได้: ผู้ใช้ยังคงลงชื่อเข้าใช้ด้วยชื่อผู้ใช้เดิมของตนได้ แม้ว่าชื่อผู้ใช้นั้นจะไม่ผ่านเกณฑ์สำหรับการลงทะเบียนใหม่แล้วก็ตาม
ตั้งค่านโยบายชื่อผู้ใช้
ในการกำหนดนโยบายชื่อผู้ใช้ ให้ทำตามขั้นตอนดังนี้:
- ไปที่หน้า Console > Sign-in & account > Sign-up and sign-in
- ที่ส่วน ตัวเลือกขั้นสูง (Advanced options) คลิก จัดการ (Manage) ที่ฟิลด์ นโยบายชื่อผู้ใช้ (Username policy)
การตั้งค่าต่อไปนี้สามารถกำหนดได้:
- แยกแยะตัวพิมพ์เล็ก / ใหญ่ (Case sensitive): กำหนดว่าชื่อผู้ใช้ที่แตกต่างกันเฉพาะตัวพิมพ์ (เช่น
Aliceกับalice) จะถือว่าเป็นชื่อผู้ใช้คนละชื่อหรือไม่ เปิดใช้งานโดยค่าเริ่มต้น หากปิดใช้งาน ผู้ใช้สามารถลงชื่อเข้าใช้ด้วยตัวพิมพ์ใดก็ได้ของชื่อผู้ใช้ และชื่อผู้ใช้ใหม่ที่ซ้ำกับชื่อที่มีอยู่โดยไม่แยกแยะตัวพิมพ์จะถูกปฏิเสธ - ความยาว (Length): กำหนดจำนวนตัวอักษรขั้นต่ำและสูงสุดที่อนุญาตสำหรับชื่อผู้ใช้ โดยอยู่ในช่วงพื้นฐาน 1 ถึง 128 ตัวอักษร
- อักขระที่อนุญาต (Allowed characters): เลือกประเภทอักขระที่ผู้ใช้สามารถใช้ได้: ตัวอักษรพิมพ์ใหญ่
(A-Z), ตัวอักษรพิมพ์เล็ก(a-z), ตัวเลข(0-9), และขีดล่าง(_)ต้องเปิดใช้งานอย่างน้อยหนึ่งในตัวอักษรพิมพ์ใหญ่ ตัวอักษรพิมพ์เล็ก หรือขีดล่าง เนื่องจากกฎพื้นฐานไม่อนุญาตให้ชื่อผู้ใช้ขึ้นต้นด้วยตัวเลข
สลับไปใช้ชื่อผู้ใช้ไม่แยกแยะตัวพิมพ์เล็ก / ใหญ่
การเปลี่ยนผู้เช่าที่มีอยู่จากชื่อผู้ใช้แบบแยกแยะตัวพิมพ์เล็ก / ใหญ่ ไปเป็นแบบไม่แยกแยะตัวพิมพ์เล็ก / ใหญ่ จำเป็นต้องไม่มีชื่อผู้ใช้สองชื่อที่ซ้ำกันเมื่อเปรียบเทียบโดยไม่แยกแยะตัวพิมพ์ (เช่น Alice กับ alice ที่เป็นของผู้ใช้สองคน) หากยังมีความขัดแย้งดังกล่าว การบันทึกนโยบายจะถูกปฏิเสธพร้อมข้อผิดพลาด 409
เมื่อคุณปิด แยกแยะตัวพิมพ์เล็ก / ใหญ่ (Case sensitive) ใน Console, Logto จะตรวจสอบความขัดแย้งล่วงหน้าและแสดงรายชื่อชื่อผู้ใช้ที่ซ้ำกันเพื่อให้คุณแก้ไข (เช่น เปลี่ยนชื่อหรือยกเลิกบัญชีหนึ่ง) ก่อนบันทึก คุณยังสามารถตรวจสอบความขัดแย้งโดยตรงผ่าน GET /api/sign-in-exp/username-policy/case-sensitivity-conflicts
แหล่งข้อมูลที่เกี่ยวข้อง
ข้อมูลผู้ใช้: ชื่อผู้ใช้ลงทะเบียนด้วยอีเมล / โทรศัพท์ / ชื่อผู้ใช้
นโยบายรหัสผ่าน