เก็บข้อมูลโปรไฟล์ผู้ใช้
นอกเหนือจากตัวระบุและข้อมูลรับรองสำหรับการยืนยันตัวตนที่จำเป็นต่อการลงชื่อเข้าใช้แล้ว แอปของคุณอาจต้องการเก็บข้อมูลโปรไฟล์ผู้ใช้เพิ่มเติมที่จัดเก็บใน Logto เพื่อให้สามารถเรียกใช้งานได้ง่ายผ่านการอ้างสิทธิ์ (Claims) ใน JWT หรือ API เพื่อมอบประสบการณ์ผลิตภัณฑ์ที่ปรับแต่งเฉพาะบุคคล คุณสามารถเก็บข้อมูลผู้ใช้ได้ด้วยวิธีดังต่อไปนี้:
-
ระหว่างการลงทะเบียนผู้ใช้ใหม่: ใช้ฟีเจอร์ เก็บข้อมูลโปรไฟล์ผู้ใช้ เพื่อเพิ่มขั้นตอน "บอกเราเกี่ยวกับตัวคุณ" ที่พร้อมใช้งานทันทีสำหรับเก็บข้อมูลโปรไฟล์เพิ่มเติมระหว่างการสมัคร ผู้ใช้ใหม่ต้องกรอกข้อมูลที่จำเป็นทั้งหมดก่อนจึงจะถือว่าการลงทะเบียนเสร็จสมบูรณ์ เอกสารนี้เน้นวิธีนี้เป็นหลัก
-
หลังการลงทะเบียนผู้ใช้: ใช้ Account API เพื่อสร้างประสบการณ์บริการตนเองระหว่าง onboarding, ศูนย์บัญชี หรือระหว่างการใช้งานผลิตภัณฑ์ เพื่ออัปเดตข้อมูลโปรไฟล์ผู้ใช้
ประโยชน์สำคัญ
ฟีเจอร์ เก็บข้อมูลโปรไฟล์ผู้ใช้ ช่วยให้คุณสามารถรวบรวมข้อมูลผู้ใช้เพิ่มเติมระหว่างประสบการณ์การลงทะเบียนของผู้ใช้ปลายทาง เราแนะนำให้เก็บเฉพาะข้อมูลที่จำเป็นต่อผลิตภัณฑ์ของคุณเท่านั้น เพื่อหลีกเลี่ยงขั้นตอนการลงทะเบียนที่ยาวเกินไปซึ่งอาจส่งผลต่ออัตราการสมัครของผู้ใช้
ฟีเจอร์นี้ช่วยให้คุณ:
-
เก็บข้อมูลผู้ใช้อย่างครบถ้วน: เก็บ ข้อมูลผู้ใช้ ใด ๆ เพื่อวัตถุประสงค์ทางธุรกิจหรือข้อกำหนดด้านกฎหมาย รวมถึง คุณสมบัติมาตรฐานของผู้ใช้ OIDC และ ข้อมูลที่กำหนดเอง
-
ปรับแต่งฟิลด์ได้อย่างยืดหยุ่น: เลือกจาก ประเภทฟิลด์ ต่าง ๆ เช่น ข้อความ ตัวเลข วันที่ เช็กบ็อกซ์ ดรอปดาวน์ (เลือกเดียว) URL และการตรวจสอบด้วย regex ให้ตรงกับความต้องการข้อมูลของคุณ
-
ประสบการณ์ผู้ใช้ที่เหมาะสม: ปรับแต่งการแสดงผลด้วยป้ายกำกับ คำอธิบาย ตัวอย่างข้อความ และกฎการตรวจสอบความถูกต้อง กำหนดฟิลด์ให้เป็น "จำเป็น" หรือ "ไม่จำเป็น" ได้ตามความต้องการทางธุรกิจ
-
การตั้งค่าฟิลด์สำเร็จรูปในตัว: ใช้ฟิลด์ข้อมูลพื้นฐานที่ตั้งค่าไว้ล่วงหน้าสำหรับคุณสมบัติผู้ใช้ทั่วไป พร้อมใช้งานทันที ใช้ฟิลด์แบบผสม (ที่อยู่, ชื่อเต็ม) เพื่อเก็บข้อมูลเชิงโครงสร้างได้อย่างมีประสิทธิภาพในขั้นตอนเดียว
เริ่มต้นอย่างรวดเร็ว
- ไปที่ Logto console > ประสบการณ์การลงชื่อเข้าใช้ > เก็บข้อมูลโปรไฟล์ผู้ใช้
- คลิก "เพิ่มฟิลด์โปรไฟล์" และเลือก ฟิลด์สำเร็จรูป หรือกำหนด ข้อมูลที่กำหนดเอง (คีย์เป็นตัวอักษรและตัวเลข) เพื่อสร้าง
- เปิดรายละเอียดฟิลด์เพื่อกำหนดประเภทฟิลด์ ป้ายกำกับ คำอธิบาย สถานะจำเป็น และการตั้งค่าเฉพาะประเภท (ความยาว ช่วง รูปแบบ ตัวเลือก ฯลฯ) จากนั้นคลิก "บันทึกการเปลี่ยนแปลง"
- กลับไปที่ ประสบการณ์การลงชื่อเข้าใช้ > เก็บข้อมูลโปรไฟล์ผู้ใช้ ลากและวางเพื่อจัดเรียงลำดับฟิลด์ใหม่ การเปลี่ยนแปลงจะถูกนำไปใช้โดยอัตโนมัติ
- ทดสอบประสบการณ์ผู้ใช้ด้วย Logto live preview หรือแอปทดสอบของคุณ ไม่ว่าผู้ใช้จะสร้างบัญชีใหม่ผ่าน identifier (อีเมล/เบอร์โทรศัพท์/ชื่อผู้ใช้), social sign-in หรือ Enterprise SSO ทุกคนจะเห็นหน้าว่า "บอกเราเกี่ยวกับตัวคุณ" ระหว่างการลงทะเบียน

ประเภทข้อมูลผู้ใช้
ข้อมูลผู้ใช้สามารถดูได้ในแต่ละ โปรไฟล์ผู้ใช้ สำหรับภาพรวมของหมวดหมู่ข้อมูลผู้ใช้ทั้งหมด ดูเอกสาร โครงสร้างข้อมูลผู้ใช้ ฟีเจอร์เก็บข้อมูลโปรไฟล์ผู้ใช้ช่วยให้คุณเก็บทั้งข้อมูลผู้ใช้พื้นฐานและข้อมูลที่กำหนดเองระหว่างการลงทะเบียน
ฟิลด์ข้อมูลผู้ใช้พื้นฐาน
ฟิลด์ข้อมูลผู้ใช้พื้นฐานที่ Logto ให้มาจะถูกจัดเก็บโดยตรงใน user
หรือ user.profile
ฟิลด์เหล่านี้มีค่าตั้งต้นและการแปลภาษา (i18n) พร้อมใช้งานทันทีหลังสร้าง คุณยังสามารถปรับแต่งประเภทฟิลด์และพารามิเตอร์ได้ตามความต้องการ
ชื่อฟิลด์ | คีย์ข้อมูลผู้ใช้ | คำอธิบาย |
---|---|---|
Name | user.name | ชื่อเต็มของผู้ใช้ในรูปแบบที่แสดงได้ รวมทุกองค์ประกอบของชื่อ (เช่น "Jane Doe") |
Fullname | user.profile.givenName user.profile.middleName user.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.formatted user.profile.address.streetAddress user.profile.address.region user.profile.address.zoneinfo user.profile.address.postalCode user.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 | min/max length | จำกัดความยาวข้อความที่ผู้ใช้กรอกขั้นต่ำและสูงสุด |
Number | min/max value | จำกัดช่วงค่าตัวเลขขั้นต่ำและสูงสุดที่กรอกได้ |
Date | รูปแบบวันที่ (preset/custom) | เลือกรูปแบบสำเร็จ (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 | Regular expression | รูปแบบตรวจสอบความถูกต้อง (ไม่ต้องใส่ / ต้น/ท้าย) เช่น ^\d3-\d2-\d4$ สำหรับ SSN |
Address | องค์ประกอบ | บรรทัดเดียวหรือหลายบรรทัด; องค์ประกอบย่อย: ถนน เมือง รัฐ รหัสไปรษณีย์ ประเทศ |
Fullname | องค์ประกอบ | องค์ประกอบย่อย: ชื่อจริง ชื่อกลาง นามสกุล |
การตรวจสอบความถูกต้อง
การตรวจสอบความถูกต้องของฟิลด์จะเกิดขึ้นเมื่อผู้ใช้ส่งข้อมูลในขั้นตอนสุดท้ายของการลงทะเบียน โดยจะมีการตรวจสอบดังนี้:
- ต้องมีข้อมูล (ยกเว้น Checkbox)
- ขอบเขตความยาว (Text)
- ช่วงตัวเลข (Number)
- ตรงกับรูปแบบ (Regex, Date พร้อม format, URL, การเป็นสมาชิกตัวเลือก Select)
- โครงสร้าง URL (ตรวจสอบไวยากรณ์พื้นฐาน ไม่ตรวจสอบการเข้าถึง)
ใช้กับองค์ประกอบย่อยของฟิลด์แบบผสมทั้งสอง (address
และ fullname
) ด้วย โดยแต่ละองค์ประกอบต้องผ่านเกณฑ์การตรวจสอบเดียวกัน
การแปลภาษา
Logto มีการแปลในระดับระบบสำหรับฟิลด์ข้อมูลผู้ใช้พื้นฐาน เช่น firstName
, lastName
, gender
, และ birthdate
โดย label ของฟิลด์เหล่านี้สามารถปรับแต่งได้ใน Logto Console
คุณสามารถเขียนทับ label เหล่านี้ด้วยการแปลของคุณเองได้ที่ Logto > ประสบการณ์การลงชื่อเข้าใช้ > เนื้อหา
ฟิลด์ที่กำหนดเองจะขึ้นอยู่กับ label, placeholder และ description ที่คุณระบุทั้งหมด หากต้องการแปลฟิลด์กำหนดเอง คุณสามารถจัดการได้ผ่าน 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 | อัปเดตลำดับฟิลด์ในประสบการณ์การลงชื่อเข้าใช้ |
แนวปฏิบัติที่ดีที่สุด
- เก็บเฉพาะข้อมูลที่จำเป็นในขั้นตอนสมัคร ส่วนข้อมูลเสริมให้เก็บในภายหลัง
- ใช้ฟิลด์แบบผสมสำหรับข้อมูลเชิงโครงสร้าง (ที่อยู่, ชื่อเต็ม) เพื่อความสอดคล้องและรองรับหลายภาษา
- ให้ตัวอย่าง/placeholder ที่ชัดเจนสำหรับฟิลด์ที่ต้องการรูปแบบเฉพาะ (regex, date, ช่วงตัวเลข)
คำถามที่พบบ่อย
ฟิลด์โปรไฟล์จะเก็บข้อมูลผู้ใช้ที่มีอยู่แล้วหรือไม่?
ไม่ ฟิลด์เหล่านี้จะเก็บข้อมูลเฉพาะจากขั้นตอนสุดท้ายของการลงทะเบียนผู้ใช้ใหม่เท่านั้น
ถ้าฉันลบฟิลด์ จะลบข้อมูลผู้ใช้ด้วยหรือไม่?
ไม่ ข้อมูลผู้ใช้ที่มีอยู่จะไม่ถูกลบ จะมีเพียงฟิลด์ที่ถูกลบออกจากฟอร์มสมัครของผู้ใช้ปลายทางเท่านั้น
ฉันสามารถเก็บข้อมูลประเทศด้วยรายการควบคุม (dropdown) แทนฟิลด์ข้อความธรรมดาได้หรือไม่?
ได้ คุณสามารถเปลี่ยนองค์ประกอบ "ประเทศ" ให้เป็นฟิลด์ "Dropdown (เลือกเดียว)" พร้อมตัวเลือกมาตรฐานได้