รวบรวมโปรไฟล์ผู้ใช้
นอกเหนือจากตัวระบุและข้อมูลรับรองสำหรับการยืนยันตัวตนที่จำเป็นต่อการลงชื่อเข้าใช้ของผู้ใช้แล้ว แอปพลิเคชันของคุณอาจต้องการรวบรวมข้อมูลโปรไฟล์ผู้ใช้เพิ่มเติมที่จัดเก็บใน Logto เพื่อให้สามารถเรียกใช้งานได้ง่ายผ่านการอ้างสิทธิ์ JWT หรือ API เพื่อมอบประสบการณ์ผลิตภัณฑ์ที่ปรับให้เหมาะกับแต่ละบุคคล คุณสามารถรวบรวมข้อมูลผู้ใช้ได้ด้วยวิธีต่อไปนี้:
-
ระหว่างการลงทะเบียนผู้ใช้ใหม่: ใช้ฟีเจอร์ รวบรวมโปรไฟล์ผู้ใช้ เพื่อเพิ่มขั้นตอน "บอกเราเกี่ยวกับตัวคุณ" ที่พร้อมใช้งานทันทีสำหรับการรวบรวมข้อมูลโปรไฟล์ผู้ใช้เพิ่มเติมระหว่างการสมัครใช้งาน ผู้ใช้ใหม่ต้องกรอกข้อมูลที่จำเป็นทั้งหมดก่อนจึงจะถือว่าการลงทะเบียนเสร็จสมบูรณ์ เอกสารนี้จะเน้นที่วิธีนี้
-
หลังการลงทะเบียนผู้ใช้: ใช้ Account API เพื่อสร้างประสบการณ์บริการตนเองระหว่าง onboarding, ศูนย์บัญชี หรือระหว่างการใช้งานผลิตภัณฑ์ เพื่ออัปเดตข้อมูลโปรไฟล์ผู้ใช้
ประโยชน์สำคัญ
ฟีเจอร์ รวบรวมโปรไฟล์ผู้ใช้ ช่วยให้คุณสามารถรวบรวมข้อมูลผู้ใช้เพิ่มเติมระหว่างประสบการณ์การลงทะเบียนของผู้ใช้ปลายทาง เราแนะนำให้รวบรวมเฉพาะข้อมูลที่จำเป็นต่อผลิตภัณฑ์ของคุณเท่านั้น เพื่อหลีกเลี่ยงขั้นตอนการลงทะเบียนที่ยาวเกินไปซึ่งอาจส่งผลต่ออัตราการสมัครของผู้ใช้
ฟีเจอร์นี้ช่วยให้คุณ:
-
เก็บข้อมูลผู้ใช้อย่างครบถ้วน: รวบรวม ข้อมูลผู้ใช้ ใด ๆ เพื่อวัตถุประสงค์ทางธุรกิจหรือข้อกำหนดด้านกฎหมาย รวมถึง คุณสมบัติมาตรฐานของผู้ใช้ 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)
- แบบผสม: ชื่อเต็ม, ที่อยู่
คุณสมบัติทั่วไป
| คุณสมบัติ | ใช้กับ | หมายเหตุ |
|---|---|---|
| ป้ายกำกับ | ทั้งหมด | ชื่อที่แสดงให้ผู้ใช้เห็น ลอยขึ้นด้านบนเมื่อฟิลด์มีค่า หรือถูกโฟกัส ฟิลด์นี้จำเป็นต้องระบุ |
| ตัวอย่างข้อความ | ทั้งหมด (ยกเว้น Checkbox) | ข้อความแนะนำที่แสดงในฟิลด์เมื่อป้ายกำกับลอย (ตัวอย่าง / คำแนะนำรูปแบบ) |
| คำอธิบาย | ทั้งหมด (ยกเว้น Checkbox) | ข้อความสนับสนุนใต้ฟิลด์ สำหรับคำแนะนำที่ยาวขึ้นหรือบริบทเพิ่มเติม |
| จำเป็น | ทั้งหมด (ยกเว้น Checkbox) | หากเปิดใช้งาน จะไม่สามารถส่งข้อมูลได้เมื่อว่างไว้ หากปิด จะมีแท็ก (ไม่บังคับ) ต่อท้ายป้ายกำกับ |
การตั้งค่าเฉพาะประเภท
| ประเภท | ด้านที่กำหนดค่าได้ | หมายเหตุ |
|---|---|---|
| ข้อความ | ความยาวต่ำสุด / สูงสุด | จำกัดความยาวข้อความที่ผู้ใช้กรอก |
| ตัวเลข | ค่าน้อยสุด / มากสุด | จำกัดช่วงค่าตัวเลขที่ผู้ใช้กรอก |
| วันที่ | รูปแบบวันที่ (สำเร็จรูป / กำหนดเอง) | เลือกรูปแบบสำเร็จ (MM/dd/yyyy, dd/MM/yyyy, yyyy-MM-dd) การเปลี่ยนตัวอย่างข้อความจะเขียนทับการโต้ตอบเริ่มต้น หรือใช้รูปแบบ date-fns ได้อย่างอิสระ |
| เช็กบ็อกซ์ | ค่าตั้งต้น | ติ๊ก (จริง) / ไม่ติ๊ก (เท็จ) |
| ดรอปดาวน์ (เลือกเดียว) | รายการตัวเลือก (≥1) | ใช้ value:label ต่อบรรทัด หากไม่มี label จะแสดง value แทน |
| URL | N/A | N/A |
| Regex | รูปแบบปกติ | รูปแบบการตรวจสอบ (ไม่ต้องใส่ / หน้า-หลัง) เช่น ^\d3-\d2-\d4$ สำหรับ SSN |
| ที่อยู่ | องค์ประกอบ | แบบบรรทัดเดียวหรือหลายบรรทัด; องค์ประกอบย่อย: ถนน เมือง รัฐ รหัสไปรษณีย์ ประเทศ |
| ชื่อเต็ม | องค์ประกอบ | องค์ประกอบย่อย: ชื่อจริง ชื่อกลาง นามสกุล |
การตรวจสอบความถูกต้อง
การตรวจสอบความถูกต้องของฟิลด์จะดำเนินการเมื่อผู้ใช้ส่งข้อมูลในขั้นตอนสุดท้ายของการลงทะเบียน โดยจะมีการตรวจสอบดังนี้:
- ต้องมีข้อมูล (ยกเว้น 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 (key endpoints)
| 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 |
แนวทางปฏิบัติที่ดีที่สุด
- รวบรวมเฉพาะข้อมูลที่จำเป็นในขั้นตอนสมัครสมาชิก ส่วนข้อมูลเพิ่มเติมให้ผู้ใช้กรอกในภายหลัง
- ใช้ฟิลด์แบบผสมสำหรับข้อมูลที่มีโครงสร้าง (ที่อยู่, ชื่อเต็ม) เพื่อความสอดคล้องและรองรับหลายภาษา
- ให้ตัวอย่างที่ชัดเจน / ตัวอย่างข้อความสำหรับฟิลด์ที่ต้องการรูปแบบเฉพาะ (regex, date, ช่วงตัวเลข)
คำถามที่พบบ่อย
ฟิลด์โปรไฟล์จะรวบรวมข้อมูลผู้ใช้ที่มีอยู่แล้วหรือไม่?
ไม่ ฟิลด์เหล่านี้จะรวบรวมข้อมูลเฉพาะจากขั้นตอนสุดท้ายของการลงทะเบียนผู้ใช้ใหม่เท่านั้น
ถ้าฉันลบฟิลด์ จะลบข้อมูลผู้ใช้ด้วยหรือไม่?
ไม่ ข้อมูลผู้ใช้ที่มีอยู่จะไม่ถูกลบ จะมีเพียงฟิลด์ที่ถูกลบออกจากฟอร์มสมัครสมาชิกในประสบการณ์ของผู้ใช้ปลายทางเท่านั้น
ฉันสามารถรวบรวมข้อมูลประเทศด้วยรายการควบคุมแทนฟิลด์ข้อความธรรมดาได้หรือไม่?
ได้ คุณสามารถเปลี่ยนองค์ประกอบ "ประเทศ" ให้เป็นฟิลด์ "ดรอปดาวน์ (เลือกเดียว)" พร้อมตัวเลือกมาตรฐานได้