เก็บข้อมูลโปรไฟล์ผู้ใช้
นอกเหนือจากตัวระบุและข้อมูลรับรองสำหรับการยืนยันตัวตนที่จำเป็นต่อการลงชื่อเข้าใช้ของผู้ใช้แล้ว แอปพลิเคชันของคุณอาจต้องการเก็บข้อมูลโปรไฟล์ผู้ใช้เพิ่มเติมที่จัดเก็บใน Logto เพื่อให้สามารถดึงข้อมูลได้ง่ายผ่านการอ้างสิทธิ์ JWT หรือ API เพื่อมอบประสบการณ์ผลิตภัณฑ์ที่ปรับแต่งเฉพาะบุคคล คุณสามารถเก็บข้อมูลผู้ใช้ได้ผ่านวิธีการดังต่อไปนี้:
-
ระหว่างการลงทะเบียนผู้ใช้ใหม่: ใช้ฟีเจอร์ เก็บข้อมูลโปรไฟล์ผู้ใช้ เพื่อเพิ่มขั้นตอน "บอกเราเกี่ยวกับตัวคุณ" ที่พร้อมใช้งานทันทีสำหรับเก็บข้อมูลโปรไฟล์เพิ่มเติมระหว่างการสมัคร ผู้ใช้ใหม่ต้องกรอกทุกฟิลด์ที่จำเป็นก่อนจะถือว่าการลงทะเบียนเสร็จสมบูรณ์ เอกสารนี้จะเน้นที่วิธีนี้
-
หลังการลงทะเบียนผู้ใช้: ใช้ Account Center (ศูนย์บัญชี) หรือ Account API ที่มีให้เพื่อให้ผู้ใช้ดูและอัปเดตข้อมูลโปรไฟล์ของตนเอง Account Center สามารถตั้งค่าให้แสดงฟิลด์โปรไฟล์เดียวกับที่กำหนดไว้ที่นี่ เพื่อให้ผู้ใช้สามารถแก้ไขข้อมูลโปรไฟล์ต่อได้หลังจากสมัคร
ข้อดีหลัก
ฟีเจอร์ เก็บข้อมูลโปรไฟล์ผู้ใช้ ช่วยให้คุณสามารถรวบรวมข้อมูลผู้ใช้เพิ่มเติมระหว่างประสบการณ์การลงทะเบียนของผู้ใช้ปลายทาง เราแนะนำให้เก็บเฉพาะข้อมูลที่จำเป็นต่อผลิตภัณฑ์ของคุณเท่านั้น เพื่อหลีกเลี่ยงขั้นตอนการลงทะเบียนที่ยาวเกินไปซึ่งอาจส่งผลต่ออัตราการสมัครของผู้ใช้
ฟีเจอร์นี้ช่วยให้คุณ:
-
เก็บข้อมูลผู้ใช้อย่างครบถ้วน: เก็บ ข้อมูลผู้ใช้ สำหรับวัตถุประสงค์ทางธุรกิจหรือข้อกำหนดด้านกฎหมาย รวมถึง คุณสมบัติมาตรฐานของผู้ใช้ OIDC และ ข้อมูลที่กำหนดเอง
-
ปรับแต่งฟิลด์ได้อย่างยืดหยุ่น: เลือกจาก ประเภทฟิลด์ ต่าง ๆ เช่น ข้อความ ตัวเลข วันที่ เช็กบ็อกซ์ ดรอปดาวน์ (เลือกเดียว) URL และการตรวจสอบรูปแบบ (regex) ให้ตรงกับความต้องการข้อมูลของคุณ
-
ประสบการณ์ผู้ใช้ที่เหมาะสม: ปรับแต่งการแสดงผลด้วยป้ายกำกับ คำอธิบาย ตัวอย่างข้อความ และกฎการตรวจสอบ ตั้งค่าฟิลด์ให้เป็น "จำเป็น" หรือ "ไม่จำเป็น" ตามความต้องการทางธุรกิจของคุณ
-
ฟิลด์สำเร็จรูปในตัว: ใช้ฟิลด์ข้อมูลพื้นฐานที่ตั้งค่ามาให้แล้วสำหรับคุณสมบัติผู้ใช้ทั่วไป พร้อมใช้งานทันที ใช้ฟิลด์แบบผสม (ที่อยู่, ชื่อเต็ม) เพื่อเก็บข้อมูลที่มีโครงสร้างอย่างมีประสิทธิภาพในขั้นตอนเดียว
เริ่มต้นอย่างรวดเร็ว
- ไปที่ Logto console > Sign-in & account > เก็บข้อมูลโปรไฟล์ผู้ใช้
- คลิก "เพิ่มฟิลด์โปรไฟล์" และเลือก ฟิลด์ในตัว หรือกำหนด ข้อมูลที่กำหนดเอง (คีย์เป็นตัวอักษรและตัวเลข) เพื่อสร้าง
- เปิดรายละเอียดฟิลด์เพื่อกำหนดประเภทฟิลด์ ป้ายกำกับ คำอธิบาย สถานะจำเป็น และการตั้งค่าเฉพาะประเภท (ความยาว ช่วง รูปแบบ ตัวเลือก ฯลฯ) จากนั้นคลิก "บันทึกการเปลี่ยนแปลง"
- กลับไปที่ Sign-in & account > เก็บข้อมูลโปรไฟล์ผู้ใช้ ลากและวางฟิลด์เพื่อจัดลำดับใหม่ การเปลี่ยนแปลงจะถูกนำไปใช้โดยอัตโนมัติ
- ทดสอบประสบการณ์ผู้ใช้ด้วย Logto live preview หรือแอปทดสอบของคุณ ไม่ว่าผู้ใช้จะสร้างบัญชีใหม่ผ่าน identifier (อีเมล / เบอร์โทรศัพท์ / ชื่อผู้ใช้), social sign-in, หรือ Enterprise SSO ทุกคนจะเห็นหน้าว่า "บอกเราเกี่ยวกับตัวคุณ" ระหว่างการลงทะเบียน
ประเภทข้อมูลผู้ใช้
ข้อมูลผู้ใช้สามารถดูได้ในแต่ละ โปรไฟล์ผู้ใช้ สำหรับภาพรวมของหมวดหมู่ข้อมูลผู้ใช้ทั้งหมด ดูเอกสาร โครงสร้างข้อมูลผู้ใช้ ฟีเจอร์เก็บข้อมูลโปรไฟล์ผู้ใช้ช่วยให้คุณรวบรวมทั้งข้อมูลผู้ใช้พื้นฐานและข้อมูลที่กำหนดเองระหว่างการลงทะเบียน
ฟิลด์ข้อมูลผู้ใช้พื้นฐาน
ฟิลด์ข้อมูลผู้ใช้พื้นฐานที่ Logto ให้มาจะถูกจัดเก็บโดยตรงใน user หรือ user.profile ฟิลด์เหล่านี้มีค่าตั้งต้นและการแปลหลายภาษา (i18n) พร้อมใช้งานทันทีหลังสร้าง คุณยังสามารถปรับแต่งประเภทฟิลด์และพารามิเตอร์ให้ตรงกับความต้องการของคุณได้
| ชื่อฟิลด์ | คีย์ข้อมูลผู้ใช้ | คำอธิบาย |
|---|---|---|
| Name | user.name | ชื่อเต็มของผู้ใช้ในรูปแบบที่แสดงได้ รวมทุกองค์ประกอบของชื่อ (เช่น "Jane Doe") |
| Fullname | user.profile.givenNameuser.profile.middleNameuser.profile.familyName | ชื่อเต็มตามกฎหมายของผู้ใช้ ผสมผสาน familyName, givenName, และ middleName ได้อย่างยืดหยุ่นตามการตั้งค่า |
| Nickname | user.profile.nickname | ชื่อเล่นหรือชื่อที่คุ้นเคยของผู้ใช้ ซึ่งอาจแตกต่างจากชื่อทางการ |
| Birthdate | user.profile.birthdate | วันเกิดของผู้ใช้ในรูปแบบที่กำหนด (เช่น "MM-dd-yyyy") |
| Gender | user.profile.gender | เพศที่ผู้ใช้ระบุด้วยตนเอง (เช่น "หญิง", "ชาย", "ไม่ระบุ") |
| Profile | user.profile.profile | URL ของหน้าข้อมูลโปรไฟล์ที่มนุษย์อ่านได้ของผู้ใช้ (เช่น โปรไฟล์โซเชียลมีเดีย) |
| Website | user.profile.website | URL เว็บไซต์ส่วนตัวหรือบล็อกของผู้ใช้ |
| Address | user.profile.address.formatteduser.profile.address.streetAddressuser.profile.address.regionuser.profile.address.zoneinfouser.profile.address.postalCodeuser.profile.address.country | ที่อยู่เต็มของผู้ใช้ (เช่น "123 Main St, Anytown, USA 12345") เลือกได้ระหว่างแบบบรรทัดเดียว (address.formatted) หรือแบบหลายบรรทัดพร้อมองค์ประกอบย่อย (ถนน เมือง รัฐ รหัสไปรษณีย์ ประเทศ) |
ฟิลด์ข้อมูลผู้ใช้ที่กำหนดเอง
ฟิลด์ข้อมูลผู้ใช้ที่กำหนดเองคือฟิลด์ที่ผู้ใช้ระบบกำหนดขึ้นเองเพื่อเก็บข้อมูลเพิ่มเติมที่ฟิลด์พื้นฐานไม่มี เช่น ความสนใจ ขนาดบริษัท หรือคุณสมบัติเฉพาะทางธุรกิจอื่น ๆ
เมื่อสร้างฟิลด์กำหนดเอง ให้ใช้ตัวอักษรและตัวเลขเท่านั้นสำหรับคีย์ข้อมูลผู้ใช้ (เช่น customData.companySize) จากนั้นคุณสามารถกำหนด ประเภทฟิลด์ และปรับแต่งคุณสมบัติเพิ่มเติมให้ตรงกับความต้องการของคุณ
ดูข้อมูลเพิ่มเติมเกี่ยวกับการดึงและอัปเดตข้อมูลผู้ใช้ที่กำหนดเองหลังจากสร้างผู้ใช้ได้ที่ โครงสร้างข้อมูลผู้ใช้
ประเภทฟิลด์
เราสามารถแบ่งประเภทฟิลด์อย่างง่ายได้ดังนี้:
- แบบพื้นฐาน: ข้อความ ตัวเลข วันที่ เช็กบ็อกซ์ (Boolean) ดรอปดาวน์ (เลือกเดียว) URL การตรวจสอบรูปแบบ (Regular expression)
- แบบผสม: ชื่อเต็ม (Fullname), ที่อยู่ (Address)
คุณสมบัติทั่วไป
| คุณสมบัติ | ใช้กับ | หมายเหตุ |
|---|---|---|
| Label | ทั้งหมด | ชื่อที่แสดงให้ผู้ใช้เห็น จะลอยขึ้นเมื่อมีค่าในฟิลด์หรือได้รับโฟกัส ฟิลด์นี้จำเป็นต้องระบุ |
| Placeholder | ทั้งหมดยกเว้น Checkbox | ข้อความแนะนำที่แสดงในฟิลด์เมื่อ label ลอยขึ้น (ตัวอย่างข้อความ / แนวทางการกรอก) |
| Description | ทั้งหมดยกเว้น Checkbox | ข้อความสนับสนุนใต้ฟิลด์สำหรับคำแนะนำที่ยาวขึ้นหรือบริบทเพิ่มเติม |
| Required | ทั้งหมดยกเว้น Checkbox | หากเปิดใช้งาน จะไม่สามารถส่งข้อมูลได้เมื่อฟิลด์ว่าง หากปิดใช้งาน จะมีแท็ก (ไม่บังคับ) ต่อท้าย label |
การตั้งค่าเฉพาะประเภท
| ประเภท | ด้านที่กำหนดค่าได้ | หมายเหตุ |
|---|---|---|
| Text | ความยาวต่ำสุด / สูงสุด | จำกัดความยาวข้อความที่ผู้ใช้กรอกได้ทั้งขั้นต่ำและสูงสุด |
| Number | ค่าน้อยสุด / มากสุด | จำกัดช่วงค่าตัวเลขที่กรอกได้ |
| Date | รูปแบบวันที่ (สำเร็จรูป / กำหนดเอง) | เลือกรูปแบบสำเร็จ (MM/dd/yyyy, dd/MM/yyyy, yyyy-MM-dd) การเปลี่ยน placeholder จะเขียนทับการโต้ตอบเริ่มต้น หรือใช้รูปแบบ date-fns ที่ปรับแต่งได้เต็มที่ |
| Checkbox | ค่าตั้งต้น | ติ๊ก (True) / ไม่ติ๊ก (False) |
| Dropdown (Select) | รายการตัวเลือก (≥1) | ใช้ value:label ต่อบรรทัด หากไม่มี label จะแสดง value แทน |
| URL | N/A | N/A |
| Regex | รูปแบบตรวจสอบ | รูปแบบตรวจสอบ (ไม่ต้องใส่ / ขึ้นต้นหรือปิดท้าย) เช่น ^\d3-\d2-\d4$ สำหรับ SSN |
| Address | องค์ประกอบ | แบบบรรทัดเดียวหรือหลายบรรทัด; องค์ประกอบย่อย: ถนน เมือง รัฐ รหัสไปรษณีย์ ประเทศ |
| Fullname | องค์ประกอบ | องค์ประกอบย่อย: ชื่อจริง ชื่อกลาง นามสกุล |
การตรวจสอบความถูกต้อง
การตรวจสอบฟิลด์จะดำเนินการเมื่อผู้ใช้ส่งข้อมูลในขั้นตอนสุดท้ายของการลงทะเบียน โดยจะมีการตรวจสอบดังนี้:
- การกรอกข้อมูลที่จำเป็น (ยกเว้น Checkbox)
- ขอบเขตความยาว (Text)
- ช่วงค่าตัวเลข (Number)
- การตรงกับรูปแบบ (Regex, Date ที่มีรูปแบบ, URL, การเป็นสมาชิกในตัวเลือก Select)
- โครงสร้าง URL (ตรวจสอบไวยากรณ์เบื้องต้น ไม่ตรวจสอบการเข้าถึง)
ใช้กับองค์ประกอบย่อยของฟิลด์แบบผสมทั้งสอง (address และ fullname) ด้วย โดยแต่ละองค์ประกอบต้องผ่านเกณฑ์การตรวจสอบเดียวกัน
การแปลภาษา
Logto มีการแปลในระดับระบบสำหรับฟิลด์ข้อมูลผู้ใช้พื้นฐาน เช่น firstName, lastName, gender, และ birthdate โดยสามารถตั้งค่าป้ายกำกับของฟิลด์เหล่านี้ได้ใน Logto Console
คุณสามารถเขียนทับป้ายกำกับเหล่านี้ด้วยการแปลของคุณเองใน Logto > Sign-in & account > Content
ฟิลด์ที่กำหนดเองจะอาศัยป้ายกำกับ ตัวอย่างข้อความ และคำอธิบายที่คุณระบุเท่านั้น สำหรับการแปลฟิลด์กำหนดเอง คุณสามารถจัดการการแปลได้ด้วย Bring your UI หรือ ติดต่อเรา พร้อมข้อเสนอแนะของคุณ
Management API (จุดเชื่อมต่อหลัก)
| Method | Endpoint | วัตถุประสงค์ |
|---|---|---|
| GET | /api/custom-profile-fields | แสดงรายการฟิลด์ทั้งหมด |
| GET | /api/custom-profile-fields/:name | ดึงนิยามฟิลด์เดียวตามชื่อ |
| POST | /api/custom-profile-fields | สร้างฟิลด์ใหม่ |
| POST | /api/custom-profile-fields/batch | สร้างหลายฟิลด์พร้อมกัน (≤20 รายการต่อคำขอ) |
| PUT | /api/custom-profile-fields/:name | อัปเดตฟิลด์ตามชื่อและข้อมูลทั้งหมด |
| DELETE | /api/custom-profile-fields/:name | ลบฟิลด์ |
| POST | /api/custom-profile-fields/properties/sie-order | อัปเดตลำดับฟิลด์ใน Sign-in Experience |
แสดงฟิลด์โปรไฟล์ใน Account Center
ฟิลด์โปรไฟล์ที่คุณกำหนดที่นี่สามารถแสดงในหน้าโปรไฟล์ของ Account Center ที่สร้างไว้ล่วงหน้า ให้ผู้ใช้ดูและอัปเดตข้อมูลโปรไฟล์หลังลงทะเบียนได้ วิธีตั้งค่าคือ:
- ไปที่ Console > Sign-in & account > Account center
- ตรวจสอบให้แน่ใจว่าสิทธิ์ฟิลด์ที่เกี่ยวข้อง (Profile สำหรับฟิลด์ในตัว, Custom data สำหรับฟิลด์กำหนดเอง) ถูกตั้งค่าเป็น
EditหรือReadOnly - ในการ์ด Integrate prebuilt UI ให้เพิ่มฟิลด์โปรไฟล์ที่ต้องการแสดงจากตัวเลือกฟิลด์โปรไฟล์ และลากเพื่อจัดลำดับใหม่
ดูรายละเอียดเพิ่มเติมได้ที่ ตั้งค่าฟิลด์โปรไฟล์
แนวทางปฏิบัติที่ดีที่สุด
- เก็บเฉพาะข้อมูลที่จำเป็นในขั้นตอนสมัคร ส่วนข้อมูลเพิ่มเติมให้ผู้ใช้กรอกภายหลัง
- ใช้ฟิลด์แบบผสมสำหรับข้อมูลที่มีโครงสร้าง (ที่อยู่, ชื่อเต็ม) เพื่อความสอดคล้องและรองรับหลายภาษา
- ให้ตัวอย่าง / placeholder ที่ชัดเจนสำหรับฟิลด์ที่ต้องการรูปแบบเฉพาะ (regex, date, ช่วงตัวเลข)
คำถามที่พบบ่อย
ฟิลด์โปรไฟล์จะเก็บข้อมูลผู้ใช้ที่มีอยู่แล้วหรือไม่?
ไม่ ฟิลด์เหล่านี้จะเก็บข้อมูลเฉพาะจากขั้นตอนสุดท้ายของการลงทะเบียนผู้ใช้ใหม่เท่านั้น
ถ้าฉันลบฟิลด์ จะลบข้อมูลผู้ใช้ด้วยหรือไม่?
ไม่ ข้อมูลผู้ใช้ที่มีอยู่จะไม่ถูกลบ จะมีเพียงฟิลด์ที่ถูกลบออกจากฟอร์มสมัครในประสบการณ์ผู้ใช้ปลายทางเท่านั้น
ฉันสามารถเก็บข้อมูลประเทศด้วยรายการที่ควบคุมได้แทนฟิลด์ข้อความธรรมดาได้หรือไม่?
ได้ คุณสามารถเปลี่ยนองค์ประกอบ "Country" ให้เป็นฟิลด์ "Dropdown (Single select)" พร้อมตัวเลือกมาตรฐานได้