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

เก็บข้อมูลโปรไฟล์ผู้ใช้

นอกเหนือจากตัวระบุและข้อมูลรับรองสำหรับการยืนยันตัวตนที่จำเป็นต่อการลงชื่อเข้าใช้แล้ว แอปของคุณอาจต้องการเก็บข้อมูลโปรไฟล์ผู้ใช้เพิ่มเติมที่จัดเก็บใน Logto เพื่อให้สามารถเรียกใช้งานได้ง่ายผ่านการอ้างสิทธิ์ (Claims) ใน JWT หรือ API เพื่อมอบประสบการณ์ผลิตภัณฑ์ที่ปรับแต่งเฉพาะบุคคล คุณสามารถเก็บข้อมูลผู้ใช้ได้ด้วยวิธีดังต่อไปนี้:

  • ระหว่างการลงทะเบียนผู้ใช้ใหม่: ใช้ฟีเจอร์ เก็บข้อมูลโปรไฟล์ผู้ใช้ เพื่อเพิ่มขั้นตอน "บอกเราเกี่ยวกับตัวคุณ" ที่พร้อมใช้งานทันทีสำหรับเก็บข้อมูลโปรไฟล์เพิ่มเติมระหว่างการสมัคร ผู้ใช้ใหม่ต้องกรอกข้อมูลที่จำเป็นทั้งหมดก่อนจึงจะถือว่าการลงทะเบียนเสร็จสมบูรณ์ เอกสารนี้เน้นวิธีนี้เป็นหลัก

  • หลังการลงทะเบียนผู้ใช้: ใช้ Account API เพื่อสร้างประสบการณ์บริการตนเองระหว่าง onboarding, ศูนย์บัญชี หรือระหว่างการใช้งานผลิตภัณฑ์ เพื่ออัปเดตข้อมูลโปรไฟล์ผู้ใช้

ประโยชน์สำคัญ

ฟีเจอร์ เก็บข้อมูลโปรไฟล์ผู้ใช้ ช่วยให้คุณสามารถรวบรวมข้อมูลผู้ใช้เพิ่มเติมระหว่างประสบการณ์การลงทะเบียนของผู้ใช้ปลายทาง เราแนะนำให้เก็บเฉพาะข้อมูลที่จำเป็นต่อผลิตภัณฑ์ของคุณเท่านั้น เพื่อหลีกเลี่ยงขั้นตอนการลงทะเบียนที่ยาวเกินไปซึ่งอาจส่งผลต่ออัตราการสมัครของผู้ใช้

ฟีเจอร์นี้ช่วยให้คุณ:

  • เก็บข้อมูลผู้ใช้อย่างครบถ้วน: เก็บ ข้อมูลผู้ใช้ ใด ๆ เพื่อวัตถุประสงค์ทางธุรกิจหรือข้อกำหนดด้านกฎหมาย รวมถึง คุณสมบัติมาตรฐานของผู้ใช้ OIDC และ ข้อมูลที่กำหนดเอง

  • ปรับแต่งฟิลด์ได้อย่างยืดหยุ่น: เลือกจาก ประเภทฟิลด์ ต่าง ๆ เช่น ข้อความ ตัวเลข วันที่ เช็กบ็อกซ์ ดรอปดาวน์ (เลือกเดียว) URL และการตรวจสอบด้วย regex ให้ตรงกับความต้องการข้อมูลของคุณ

  • ประสบการณ์ผู้ใช้ที่เหมาะสม: ปรับแต่งการแสดงผลด้วยป้ายกำกับ คำอธิบาย ตัวอย่างข้อความ และกฎการตรวจสอบความถูกต้อง กำหนดฟิลด์ให้เป็น "จำเป็น" หรือ "ไม่จำเป็น" ได้ตามความต้องการทางธุรกิจ

  • การตั้งค่าฟิลด์สำเร็จรูปในตัว: ใช้ฟิลด์ข้อมูลพื้นฐานที่ตั้งค่าไว้ล่วงหน้าสำหรับคุณสมบัติผู้ใช้ทั่วไป พร้อมใช้งานทันที ใช้ฟิลด์แบบผสม (ที่อยู่, ชื่อเต็ม) เพื่อเก็บข้อมูลเชิงโครงสร้างได้อย่างมีประสิทธิภาพในขั้นตอนเดียว

เริ่มต้นอย่างรวดเร็ว

  1. ไปที่ Logto console > ประสบการณ์การลงชื่อเข้าใช้ > เก็บข้อมูลโปรไฟล์ผู้ใช้
  2. คลิก "เพิ่มฟิลด์โปรไฟล์" และเลือก ฟิลด์สำเร็จรูป หรือกำหนด ข้อมูลที่กำหนดเอง (คีย์เป็นตัวอักษรและตัวเลข) เพื่อสร้าง
  3. เปิดรายละเอียดฟิลด์เพื่อกำหนดประเภทฟิลด์ ป้ายกำกับ คำอธิบาย สถานะจำเป็น และการตั้งค่าเฉพาะประเภท (ความยาว ช่วง รูปแบบ ตัวเลือก ฯลฯ) จากนั้นคลิก "บันทึกการเปลี่ยนแปลง"
  4. กลับไปที่ ประสบการณ์การลงชื่อเข้าใช้ > เก็บข้อมูลโปรไฟล์ผู้ใช้ ลากและวางเพื่อจัดเรียงลำดับฟิลด์ใหม่ การเปลี่ยนแปลงจะถูกนำไปใช้โดยอัตโนมัติ
  5. ทดสอบประสบการณ์ผู้ใช้ด้วย Logto live preview หรือแอปทดสอบของคุณ ไม่ว่าผู้ใช้จะสร้างบัญชีใหม่ผ่าน identifier (อีเมล/เบอร์โทรศัพท์/ชื่อผู้ใช้), social sign-in หรือ Enterprise SSO ทุกคนจะเห็นหน้าว่า "บอกเราเกี่ยวกับตัวคุณ" ระหว่างการลงทะเบียน
เก็บข้อมูลโปรไฟล์ผู้ใช้ระหว่างสมัคร

ประเภทข้อมูลผู้ใช้

ข้อมูลผู้ใช้สามารถดูได้ในแต่ละ โปรไฟล์ผู้ใช้ สำหรับภาพรวมของหมวดหมู่ข้อมูลผู้ใช้ทั้งหมด ดูเอกสาร โครงสร้างข้อมูลผู้ใช้ ฟีเจอร์เก็บข้อมูลโปรไฟล์ผู้ใช้ช่วยให้คุณเก็บทั้งข้อมูลผู้ใช้พื้นฐานและข้อมูลที่กำหนดเองระหว่างการลงทะเบียน

ฟิลด์ข้อมูลผู้ใช้พื้นฐาน

ฟิลด์ข้อมูลผู้ใช้พื้นฐานที่ Logto ให้มาจะถูกจัดเก็บโดยตรงใน user หรือ user.profile ฟิลด์เหล่านี้มีค่าตั้งต้นและการแปลภาษา (i18n) พร้อมใช้งานทันทีหลังสร้าง คุณยังสามารถปรับแต่งประเภทฟิลด์และพารามิเตอร์ได้ตามความต้องการ

ชื่อฟิลด์คีย์ข้อมูลผู้ใช้คำอธิบาย
Nameuser.nameชื่อเต็มของผู้ใช้ในรูปแบบที่แสดงได้ รวมทุกองค์ประกอบของชื่อ (เช่น "Jane Doe")
Fullnameuser.profile.givenName
user.profile.middleName
user.profile.familyName
ชื่อเต็มตามกฎหมายของผู้ใช้ ผสมผสาน familyName, givenName และ middleName ได้อย่างยืดหยุ่นตามการตั้งค่า
Nicknameuser.profile.nicknameชื่อเล่นหรือชื่อที่คุ้นเคยของผู้ใช้ ซึ่งอาจแตกต่างจากชื่อทางการ
Birthdateuser.profile.birthdateวันเกิดของผู้ใช้ในรูปแบบที่กำหนด (เช่น "MM-dd-yyyy")
Genderuser.profile.genderเพศที่ผู้ใช้ระบุด้วยตนเอง (เช่น "หญิง", "ชาย", "ไม่ระบุ")
Profileuser.profile.profileURL ของหน้าข้อมูลโปรไฟล์ที่มนุษย์อ่านได้ของผู้ใช้ (เช่น โปรไฟล์โซเชียลมีเดีย)
Websiteuser.profile.websiteURL เว็บไซต์ส่วนตัวหรือบล็อกของผู้ใช้
Addressuser.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

การตั้งค่าเฉพาะประเภท

ประเภทด้านที่กำหนดค่าได้หมายเหตุ
Textmin/max lengthจำกัดความยาวข้อความที่ผู้ใช้กรอกขั้นต่ำและสูงสุด
Numbermin/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 แทน
URLN/AN/A
RegexRegular 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 (จุดเชื่อมต่อหลัก)

MethodEndpointวัตถุประสงค์
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 (เลือกเดียว)" พร้อมตัวเลือกมาตรฐานได้