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

โดเมนแบบกำหนดเอง (Custom domain)

Logto tenant ของคุณจะมาพร้อมกับโดเมนฟรีเริ่มต้น {{tenant-id}}.app.logto อย่างไรก็ตาม คุณสามารถยกระดับประสบการณ์ผู้ใช้และการจดจำแบรนด์ของคุณได้ด้วยการใช้โดเมนแบบกำหนดเอง เช่น auth.example.com

โดเมนแบบกำหนดเองของคุณจะถูกใช้ในหลายฟังก์ชัน เช่น:

บันทึก:

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

ตั้งค่าโดเมนแบบกำหนดเองใน Console

เพื่อเพิ่มโดเมนแบบกำหนดเองใหม่ใน Logto Console ให้ทำตามขั้นตอนดังนี้:

  1. ไปที่ Console > Settings > Domains

  2. ในส่วน "Custom Domain" ให้กรอกชื่อโดเมนของคุณแล้วคลิก "add domain"

    Add domain
  3. คัดลอกค่า CNAME ในตาราง แล้วไปที่ผู้ให้บริการ DNS ของโดเมนคุณเพื่อเพิ่ม record

    Custom domain processing
  4. รอการตรวจสอบและกระบวนการ SSL

    1. เราจะตรวจสอบ record ของคุณอัตโนมัติทุก 10 วินาทีจนกว่าโดเมนแบบกำหนดเองจะถูกเพิ่ม ตรวจสอบให้แน่ใจว่าชื่อโดเมนหรือ DNS Records ที่กรอกถูกต้อง
    2. การตรวจสอบมักใช้เวลาไม่กี่นาที แต่ในบางกรณีอาจนานถึง 24 ชั่วโมง ขึ้นอยู่กับผู้ให้บริการ DNS คุณสามารถออกจากหน้านี้ระหว่างรอได้

การแก้ไขปัญหา

ปัญหาใบรับรอง SSL

หากคุณพบปัญหาใบรับรอง SSL ขณะตั้งค่าโดเมนแบบกำหนดเอง อาจเกี่ยวข้องกับ CAA records ในการตั้งค่า DNS ของคุณ CAA records จะระบุว่า Certificate Authorities (CAs) ใดได้รับอนุญาตให้ออกใบรับรองสำหรับโดเมนของคุณ หากคุณใช้ CAA records คุณต้องอนุญาตทั้ง "letsencrypt.org" และ "pki.goog" เพื่อให้ Logto สามารถออกใบรับรอง SSL ได้

สำหรับการแก้ไขปัญหาและรายละเอียดเพิ่มเติมเกี่ยวกับ CAA records โปรดดู เอกสาร Cloudflare เกี่ยวกับ CAA Records

ข้อผิดพลาด "The hostname is associated with a held zone"

หากคุณพบข้อความผิดพลาด "The hostname is associated with a held zone, please contact the owner to have the hold removed" ขณะเพิ่มโดเมนแบบกำหนดเอง หมายความว่าโดเมนนั้นอยู่ใน Cloudflare zone และถูกตั้งสถานะเป็น "Zone Hold" ดู เอกสาร Cloudflare นี้ สำหรับข้อมูลเพิ่มเติม

วิธีแก้ไขคือต้องปลดสถานะ zone hold ดูวิธีการได้จากลิงก์ข้างต้น

การเชื่อมต่อหมดเวลา (Error code 522) สำหรับโดเมนที่โฮสต์บน Cloudflare

หากโดเมนของคุณโฮสต์อยู่บน Cloudflare ให้ปิด proxy ของ Cloudflare สำหรับ CNAME record

ข้อผิดพลาด "Redirect URI does not match" หลังตั้งค่าโดเมนแบบกำหนดเอง

หากคุณได้รับข้อผิดพลาด "redirect URI does not match" หลังจากเพิ่มโดเมนแบบกำหนดเอง คุณต้องอัปเดตการตั้งค่า SDK ของคุณให้ใช้โดเมนแบบกำหนดเองเป็น endpoint

เกี่ยวกับ "primary domain":

ใน Logto ไม่มีการตั้งค่า "primary domain" แยกต่างหาก หลังจากเพิ่มโดเมนแบบกำหนดเองแล้ว ทั้งโดเมนแบบกำหนดเองและโดเมนเริ่มต้น {tenant-id}.logto.app จะยังคงใช้งานได้ โดเมนที่คุณกำหนดในพารามิเตอร์ endpoint ของ SDK จะเป็นตัวกำหนดว่าจะใช้โดเมนใดใน flow การยืนยันตัวตน

วิธีแก้ไข:

อัปเดตพารามิเตอร์ endpoint ในการเริ่มต้น SDK ของคุณให้ใช้โดเมนแบบกำหนดเอง:

const client = new LogtoClient({
endpoint: 'https://auth.example.com', // ใช้โดเมนแบบกำหนดเองของคุณ
appId: 'your-app-id',
// ... ตัวเลือกอื่น ๆ
});

ตรวจสอบด้วยว่า redirect URI ที่ลงทะเบียนใน Console → Applications ตรงกับโดเมนที่คุณใช้งาน

หมายเหตุ: Logto จะจัดเตรียมและจัดการใบรับรอง SSL สำหรับโดเมนแบบกำหนดเองของคุณโดยอัตโนมัติ คุณไม่จำเป็นต้องตั้งค่าใบรับรองเอง

การใช้งานโดเมนแบบกำหนดเอง

เมื่อคุณตั้งค่าการใช้งานเสร็จแล้ว ทั้งชื่อโดเมนแบบกำหนดเองและโดเมนเริ่มต้นของ Logto จะพร้อมใช้งานสำหรับ tenant ของคุณ อย่างไรก็ตาม ต้องมีการตั้งค่าบางอย่างเพื่อเปิดใช้งานโดเมนแบบกำหนดเอง

บันทึก:

ในบทความนี้ สมมติว่าโดเมนแบบกำหนดเองของคุณคือ auth.example.com

การอัปเดต SDK endpoint สำหรับแอปพลิเคชัน

แก้ไขโค้ดเริ่มต้นของ Logto SDK โดยเปลี่ยนชื่อโดเมนใน endpoint

const client = new LogtoClient({
...,// ตัวเลือกอื่น ๆ
endpoint: 'https://auth.example.com',
});

การแก้ไข auth endpoints สำหรับแอปพลิเคชันอื่น ๆ

หากคุณมีแอปพลิเคชันที่ไม่ได้ใช้ Logto SDK จำเป็นต้องอัปเดต auth endpoints ของแอปเหล่านั้น

คุณสามารถค้นหา auth endpoints ได้ที่ URL มาตรฐานนี้:

https://auth.example.com/oidc/.well-known/openid-configuration

การอัปเดต callback URI ของตัวเชื่อมต่อโซเชียล

callback URI ของตัวเชื่อมต่อโซเชียลจะถูกอัปเดตอัตโนมัติหากผู้ใช้ของคุณใช้โดเมนแบบกำหนดเอง คุณต้องไปที่ developer console ของผู้ให้บริการโซเชียลเพื่ออัปเดต callback URI

เมื่อผู้ใช้ของคุณใช้โดเมนแบบกำหนดเอง callback URI ของตัวเชื่อมต่อโซเชียลจะใช้โดเมนใหม่นี้ ดังนั้นคุณต้องเข้าไปที่ developer console ของผู้ให้บริการโซเชียลเพื่ออัปเดต callback URI ด้วยตนเอง