ไลเซนส์แบบโฮสต์เอง (Self-hosted license)
ไลเซนส์แบบโฮสต์เองคือคีย์ที่ลงลายเซ็นดิจิทัลซึ่งปลดล็อกฟีเจอร์แบบชำระเงินของ แผน Logto แบบโฮสต์เอง บนอินสแตนซ์ Logto OSS ของคุณ หากไม่มีไลเซนส์ Logto OSS จะทำงานเหมือนเดิมทุกประการ
ไลเซนส์นี้ใช้สำหรับ Logto OSS แบบโฮสต์เองเท่านั้น บน Logto Cloud ฟีเจอร์จะเป็นส่วนหนึ่งของ แผนของผู้เช่า และไม่มี endpoint สำหรับไลเซนส์
ไลเซนส์ปลดล็อกอะไรบ้าง
ไลเซนส์ Self-hosted Pro จะปลดล็อกฟีเจอร์ดังต่อไปนี้บนอินสแตนซ์ของคุณ:
| ฟีเจอร์ | ไม่มีไลเซนส์ | มีไลเซนส์ |
|---|---|---|
| ซ่อนแบรนด์ Logto | "Powered by Logto" จะแสดงเสมอ | คุณสามารถซ่อนได้ |
| Bring your UI และ custom CSP sources | ไม่สามารถใช้งานได้ | อัปโหลด UI ลงชื่อเข้าใช้ของคุณเองไปยัง พื้นที่จัดเก็บของคุณเอง |
| สมาชิก Console และการเชิญ | ไม่สามารถใช้งานได้ | เชิญสมาชิกเข้าสู่ Console และจัดการบทบาทใน Tenant Settings > Members |
| MFA บังคับสำหรับ Console | มีเฉพาะ MFA แบบเลือกใช้ | บังคับให้สมาชิก Console ทุกคนตั้งค่า MFA ใน Tenant Settings > Settings |
| SAML apps | สูงสุด 3 SAML apps | ไม่จำกัดจำนวน SAML apps |
ฟีเจอร์ที่ไม่ได้อยู่ในรายการนี้จะไม่ได้รับผลกระทบจากไลเซนส์
รับไลเซนส์
ขอไลเซนส์ผ่าน หน้ารายละเอียดแผนแบบโฮสต์เอง จากนั้น Logto จะให้คีย์สองชุดสำหรับไลเซนส์เดียวกัน:
- Production key: ใช้สำหรับการดีพลอยใน production ที่ครอบคลุมโดยการสมัครของคุณ เว้นแต่ในแบบฟอร์มสั่งซื้อจะระบุไว้เป็นอย่างอื่น การสมัครแต่ละรายการจะครอบคลุมการดีพลอย production หนึ่งรายการ
- Non-production key: ใช้สำหรับการพัฒนา ทดสอบ และ staging ที่สนับสนุนการดีพลอย production เดียวกัน โดย deployment เหล่านี้ต้องไม่ให้บริการทราฟฟิก production
ทั้งสองคีย์ปลดล็อกฟีเจอร์และโควต้าเดียวกัน การมีสองคีย์ไม่ได้ให้สิทธิ์ในการรัน production สองชุด การใช้งานของคุณอยู่ภายใต้ ข้อตกลงการสมัครแบบโฮสต์เอง และแบบฟอร์มสั่งซื้อของคุณ
คีย์ที่คุณติดตั้งจะบอก Logto ว่าเป็น deployment ประเภทใด Logto จะไม่ตรวจสอบทางเทคนิค ดังนั้นควรติดตั้งคีย์ที่ตรงกับ deployment
ติดตั้งไลเซนส์
คุณสามารถติดตั้งไลเซนส์ใน Console หรือผ่าน Management API ไม่ว่าทางใด Logto จะตรวจสอบลายเซ็นบนอินสแตนซ์ของคุณก่อนบันทึกคีย์ และจะปฏิเสธคีย์ที่ไม่ถูกต้อง ถูกแก้ไข หรือหมดอายุแล้ว
ใน Console
- ไปที่ Console > Tenant Settings > License
- วางคีย์ไลเซนส์ของคุณแล้วคลิก Install license
เมื่อติดตั้งแล้ว หน้าจะโชว์รายละเอียดของไลเซนส์ หากต้องการเปลี่ยนคีย์ เช่น จาก non-production เป็น production หรือเป็นคีย์ที่ออกใหม่ ให้คลิก Replace license
ใช้ Management API
ส่งคีย์ไปที่ PUT /api/systems/license พร้อม access token สำหรับ Logto Management API:
curl -X PUT 'https://your-logto-endpoint/api/systems/license' \
-H 'Authorization: Bearer <access_token>' \
-H 'Content-Type: application/json' \
-d '{ "license": "<your_license_key>" }'
หากสำเร็จจะได้ 204 No Content หากล้มเหลวจะได้:
400และlicense.invalid_keyหากคีย์ไม่ได้ลงลายเซ็นโดย Logto หรือถูกแก้ไข400และlicense.expired_keyหากคีย์หมดอายุแล้ว ให้ขอคีย์ใหม่และติดตั้งอีกครั้ง501หาก Logto ของคุณรันอยู่บน Logto Cloud
เพื่อตรวจสอบไลเซนส์ที่ติดตั้งอยู่ ส่ง GET /api/systems/license จะได้ข้อมูลแผน, สภาพแวดล้อม, สิทธิ์, วันหมดอายุ และสถานะการรีเฟรชของไลเซนส์ โดยจะไม่คืนคีย์ไลเซนส์เอง และจะคืน 404 เมื่อไม่มีไลเซนส์ ดู Management API reference สำหรับ schema คำขอและคำตอบแบบเต็ม
หลายอินสแตนซ์
ไลเซนส์จะถูกเก็บไว้ในฐานข้อมูล Logto ของคุณ ดังนั้นคุณติดตั้งเพียงครั้งเดียวสำหรับ Logto ทุกอินสแตนซ์ที่ใช้ฐานข้อมูลเดียวกัน
การรีเฟรชและระยะผ่อนผัน
Logto ตรวจสอบลายเซ็นไลเซนส์ในเครื่อง ดังนั้นการลงชื่อเข้าใช้แอปของคุณจะไม่ขึ้นกับการเชื่อมต่อกับ Logto และการรีเฟรชที่ล้มเหลวจะไม่บล็อกทราฟฟิกการลงชื่อเข้าใช้
เพื่อรับการต่ออายุและการยกเลิก อินสแตนซ์ของคุณจะเช็คอินกับ Logto Cloud:
- เช็คอินรายสัปดาห์ เมื่อการรีเฟรชล่าสุดเกิน 7 วัน Logto จะรีเฟรชไลเซนส์เบื้องหลังขณะจัดการคำขอ หากล้มเหลวจะลองใหม่ภายหลัง สูงสุดชั่วโมงละครั้ง ไลเซนส์ที่เพิ่งติดตั้งจะถูกรีเฟรชทันที
- ระยะผ่อนผัน 30 วัน หากการรีเฟรชล้มเหลว เช่น อินสแตนซ์ของคุณไม่สามารถเชื่อมต่ออินเทอร์เน็ต ฟีเจอร์จะยังใช้งานได้อีก 30 วันหลังการรีเฟรชล่าสุด หลังจากนั้นอินสแตนซ์ของคุณจะกลับไปใช้ค่า OSS เริ่มต้น
- การรีเฟรชที่ถูกปฏิเสธ หาก Logto ปฏิเสธการรีเฟรชไลเซนส์ เช่น การสมัครถูกยกเลิก หน้าของไลเซนส์จะแสดงเหตุผล ระยะผ่อนผันยังคงนับจากการรีเฟรชล่าสุดที่สำเร็จ
การรีเฟรชเป็นคำขอ HTTPS ขาออกจากอินสแตนซ์ของคุณไปที่ https://cloud.logto.io หากอินสแตนซ์ของคุณอยู่หลังไฟร์วอลล์ ให้อนุญาตปลายทางนี้
ข้อมูลที่อินสแตนซ์ของคุณส่ง
คำขอรีเฟรชจะมีเพียง:
- คีย์ไลเซนส์ของคุณ ซึ่งระบุไลเซนส์ด้วย
licenseId deploymentId: ตัวระบุสุ่มที่สร้างขึ้นเมื่อคุณติดตั้งไลเซนส์ครั้งแรก จะถูกเก็บในฐานข้อมูลของคุณ ใช้ร่วมกันทุกอินสแตนซ์ที่ใช้ฐานข้อมูลเดียวกัน และจะไม่เปลี่ยน แม้คุณจะเปลี่ยนไลเซนส์- เวอร์ชัน Logto
Logto จะไม่เก็บจำนวนผู้ใช้ ชื่อโฮสต์ โดเมน หรือการตั้งค่า ข้อมูลนี้เก็บไว้เพื่ออ้างอิง เช่น ตอนต่ออายุ และจะไม่แสดงหรือประเมินในผลิตภัณฑ์ พฤติกรรมนี้เป็นโอเพ่นซอร์ส ดู LicenseReader.ts
การหมดอายุของไลเซนส์
ไลเซนส์ครอบคลุมระยะเวลา 1 ปี และวันที่ Expires on คือวันสิ้นสุดระยะเวลานั้น
- เมื่อคุณต่ออายุ ไม่ต้องทำอะไรบนอินสแตนซ์ของคุณ การรีเฟรชครั้งถัดไปหลังต่ออายุจะเปลี่ยนคีย์ที่ติดตั้งเป็นคีย์ใหม่ที่หมดอายุอีกหนึ่งปี เป็นเรื่องปกติที่หน้าจะโชว์วันที่เพิ่งหมดอายุไปไม่กี่วันขณะรอการรีเฟรช และฟีเจอร์จะยังใช้งานได้ในช่วงนี้
- เมื่อคุณไม่ต่ออายุ การรีเฟรชจะถูกปฏิเสธหลังหมดระยะเวลา ฟีเจอร์จะยังใช้งานได้จนถึงสิ้นสุดระยะผ่อนผัน 30 วัน จากนั้นอินสแตนซ์ของคุณจะกลับไปใช้ค่า OSS เริ่มต้นเหมือนไม่มีไลเซนส์ หน้าของไลเซนส์จะแสดงแบนเนอร์อธิบายและวันที่ที่จะเกิดขึ้น
- หากคุณถึงสิ้นสุดระยะผ่อนผัน ให้ติดตั้งคีย์ใหม่เพื่อปลดล็อกฟีเจอร์อีกครั้ง ติดต่อ Logto ผ่านช่องทางที่คุณใช้ขอไลเซนส์หากต้องการ
จะเกิดอะไรขึ้นเมื่อฟีเจอร์ถูกปิด
การกลับไปใช้ค่า OSS เริ่มต้นจะไม่ลบสิ่งที่คุณสร้างไว้ด้วยไลเซนส์:
- ซ่อนแบรนด์ Logto: เครื่องหมาย "Powered by Logto" จะแสดงอีกครั้ง การตั้งค่าของคุณจะถูกเก็บไว้และนำกลับมาใช้หากติดตั้งไลเซนส์ใหม่
- SAML apps: แอปที่เกิน 3 รายการจะยังอยู่ แต่คุณไม่สามารถสร้างใหม่ได้จนกว่าจะต่ำกว่าขีดจำกัด
- MFA บังคับ: คุณสามารถปิดได้เสมอ แต่ไม่สามารถเปิดใหม่ได้หากไม่มีไลเซนส์
- Bring your UI, custom CSP และการเชิญ Console: คุณไม่สามารถเปลี่ยนแปลงใหม่ที่ต้องใช้ฟีเจอร์นี้ แต่ข้อมูลเดิมจะถูกเก็บไว้
ตั้งค่าพื้นที่จัดเก็บสำหรับ Bring your UI
บน Logto Cloud ไฟล์ Bring your UI จะถูกโฮสต์โดย Logto แต่บนอินสแตนซ์ของคุณเอง ไฟล์จะถูกเก็บใน object storage ที่คุณตั้งค่า Logto จะ unzip ไฟล์ที่คุณอัปโหลดและเก็บไว้ที่นั่น รวมถึงให้บริการไฟล์จากที่นั่น
ตั้งค่า experienceBlobsProvider ใน system config ด้วยโครงสร้าง JSON เดียวกับ file storage provider เช่น สำหรับ S3-compatible storage:
pnpm logto db system set experienceBlobsProvider '{"provider":"S3Storage","accessKeyId":"my-access-key-id","accessSecretKey":"my-secret-access-key","bucket":"logto-sie","endpoint":"https://s3.us-east-2.amazonaws.com"}'
รีสตาร์ท Logto หลังเปลี่ยน config จากนั้นทำตาม Bring your UI เพื่ออัปโหลดไฟล์ UI ของคุณใน Console
อีเมลเชิญสมาชิก Console
การเชิญ Console จะถูกส่งทางอีเมลผ่าน email connector ของ tenant หลักของคุณ ตรวจสอบให้แน่ใจว่าคุณได้ ตั้งค่า email connector ก่อนเชิญสมาชิก