อัปเดตผลิตภัณฑ์ Logto
Logto v1.39.0 มาแล้ว นำเสนอการหมุนเวียนคีย์เซ็นลายเซ็นที่ปลอดภัยยิ่งขึ้น การจัดการข้อผิดพลาดของสคริปต์ JWT ที่ฉลาดขึ้น การควบคุมความปลอดภัยของ Account Center ที่ขยายขึ้น การรองรับตัวเชื่อมต่อ WhatsApp และการปรับปรุงความปลอดภัยที่สำคัญ
เรารู้สึกตื่นเต้นที่จะเปิดตัว Logto v1.39.0 ซึ่งเป็นเวอร์ชันที่มุ่งเน้นด้านความปลอดภัยในการปฏิบัติงานที่เข้มแข็งยิ่งขึ้น การปรับแต่งโทเค็นที่ยืดหยุ่นกว่าเดิม และความปลอดภัยของบัญชีผู้ใช้ปลายทางที่ดีขึ้น เวอร์ชันนี้ได้เพิ่มช่วงผ่อนผันสำหรับการหมุนเวียนคีย์เซ็นลายเซ็นส่วนตัว การจัดการข้อผิดพลาดที่กำหนดค่าได้สำหรับสคริปต์ JWT แบบกำหนดเอง หน้าความปลอดภัยใหม่ใน Account Center การรองรับตัวเชื่อมต่อ WhatsApp ผ่าน Meta Cloud API และการปรับปรุงด้านความปลอดภัยและความเสถียรในกระบวนการยืนยันตัวตนหลายจุด
ไฮไลต์เด่น
- ช่วงผ่อนผันสำหรับการหมุนเวียนคีย์เซ็นลายเซ็นส่วนตัว: Logto ตอนนี้รองรับช่วงผ่อนผันเมื่อทำการหมุนเวียนคีย์ ส่งผลให้ไคลเอนต์สามารถอัปเดต JWKS ที่แคชไว้โดยไม่ต้องหยุดให้บริการ
- การจัดการข้อผิดพลาดของสคริปต์ JWT แบบกำหนดเอง: การปรับแต่ง Access Token และ Client Credentials JWT สามารถบล็อกการออก Token เมื่อสคริปต์ล้มเหลวได้
- หน้าความปลอดภัยของ Account Center: ผู้ใช้ปลายทางสามารถจัดการการเชื่อมโยงบัญชีโซเชียล, MFA และการลบบัญชีได้จาก Account Center
- ตัวเชื่อมต่อ WhatsApp: มีตัวเชื่อมต่อ WhatsApp SMS ใหม่พร้อมใช้งานผ่าน Meta Cloud API
- การแก้ไขด้านความปลอดภัยและความเข้ากันได้: คำตอบการตรวจสอบลืมรหัสผ่านถูกรวมเป็นหนึ่งเดียวเพื่อลดความเสี่ยงในการระบุบัญชี และการเปลี่ยนเส้นทางโซเชียล / SSO ภายในแอปมีความเสถียรมากขึ้น
ฟีเจอร์ใหม่ & การปรับปรุง
ช่วงผ่อนผันสำหรับการหมุนเวียนคีย์เซ็นลายเซ็นส่วนตัว
Logto ตอนนี้รองรับช่วงผ่อนผันระหว่างการหมุนเวียนคีย์เซ็นลายเซ็นส่วนตัว
สิ่งนี้สามารถกำหนดค่าได้ผ่าน:
- ตัวแปรสภาพแวดล้อม
PRIVATE_KEY_ROTATION_GRACE_PERIOD - ตัวเลือก CLI
--gracePeriod
ในช่วงผ่อนผันนี้:
- คีย์เซ็นลายเซ็นที่เพิ่งสร้างใหม่จะถูกตั้งค่าเป็น Next
- คีย์เซ็นลายเซ็นเดิมยังคงใช้งานอยู่ในสถานะ Current
- ไคลเอนต์มีเวลาสำหรับอัปเดต JWKS ที่แคชไว้ก่อนที่คีย์ใหม่จะเริ่มใช้งาน
หลังจากช่วงผ่อนผันสิ้นสุดลง:
- คีย์ใหม่จะเปลี่ยนสถานะเป็น Current
- คีย์เดิมจะถูกตั้งค่าเป็น Previous
วิธีนี้จะช่วยให้การหมุนเวียนคีย์เป็นไปอย่างราบรื่นและหลีกเลี่ยงความล้มเหลวของการยืนยันตัวตนที่เกิดจาก JWKS ที่ล้าสมัย
เอกสาร: การหมุนเวียนคีย์เซ็นลายเซ็น
การจัดการข้อผิดพลาดของสคริปต์ JWT แบบกำหนดเอง
Logto ขณะนี้รองรับการจัดการข้อผิดพลาดแบบกำหนดค่าสำหรับสคริปต์ JWT แบบกำหนดเองที่ใช้ในกระบวนการ Access Token และ Client Credentials
การเปลี่ยนแปลงที่เกี่ยวข้อง:
- สคริปต์ JWT แบบกำหนดเองสามารถบล็อกการออก Token ได้เมื่อการรันคำสั่งล้มเหลว
api.denyAccess()ยังคงส่งกลับเป็นการตอบสนองaccess_denied- ข้อผิดพลาดอื่น ๆ ของสคริปต์ในโหมดบล็อกจะถูกส่งกลับเป็น
invalid_requestด้วยภาษาแปลในพื้นที่ - Console เพิ่มแท็บ Error handling สำหรับกำหนดค่าพฤติกรรมการตอบสนองข้อผิดพลาด
- สคริปต์ที่สร้างขึ้นใหม่จะเปิดใช้งาน
blockIssuanceOnErrorเป็นค่าเริ่มต้น - สคริ ปต์ที่มีอยู่เดิมซึ่งยังไม่เคยบันทึกค่าจะคงพฤติกรรมแบบเดิม (ไม่บล็อก)
- มีการอัปเดตคู่มือ Console วลี แบบฟอร์ม และความครอบคลุมการผสานรวมที่เกี่ยวข้อง
สิ่งนี้ช่วยให้นักพัฒนาสามารถเลือกได้ว่าความล้มเหลวในการปรับแต่ง Token จะทำให้ล้มแบบเปิด (open) หรือปิด (closed) ตามข้อกำหนดด้านความปลอดภัย
หน้าความปลอดภัยของ Account Center
การอัปเดตครั้งนี้เพิ่มหน้าความปลอดภัยให้กับ Account Center ที่ติดตั้งมาให้
ผู้ใช้ปลายทางสามารถจัดการความปลอดภัยของบัญชีจาก /account/security ซึ่งรวมถึง:
- การเชื่อมโยงหรือเลิกเชื่อมโยงบัญชีโซเชียล
- การยืนยันตัวตนแบบ MFA (2 ขั้นตอน)
- การลบบัญชี
รองรับผ่าน Console:
- การตั้งค่าประสบการณ์เข้าใช้งานของ Account Center ตอนนี้แสดงช่อง URL สำหรับการลบบัญชี
- Console แสดงรายการ UI Account Center และโซเชียลที่ติดตั้งมาก่อนแล้ว
ตัวเชื่อมต่อ WhatsApp ผ่าน Meta Cloud API
มีตัวเชื่อมต่อ WhatsApp ใหม่สำหรับการส่งข้อความผ่าน Meta Cloud API
ช่วยให้สามารถส่ง SMS หรือรหัสยืนยันผ่าน WhatsApp โดยใช้การผสานรวมอย่างเป็นทางการกับ Meta Cloud API
การตอบสนอง API การมอบหมายองค์กร
ตอนนี้ API มอบหมายผู้ใช้และบทบาทให้กับองค์กร จะแสดง Response body กลับมา
จุดเชื่อมต่อที่อัปเดต:
POST /organizations/:id/usersขณะนี้ส่งคืน{ userIds: string[] }ซึ่งสะท้อน User ID ที่ส่งเข้ามาPOST /organizations/:id/users/:userId/rolesขณะนี้ส่งคืน{ organizationRoleIds: string[] }ประกอบด้วย Role ID แบบไม่ซ้ำกันที่กำหนดให้ User รวมถึง ID จากชื่อ Role ที่ส่งมา
อัปเดต Theme Token ของ Console
Theme ของ Console ขณะนี้ได้รวม --color-overlay-primary-subtle ที่ขาดหายไป ทั้งในโหมดสว่างและโหมดมืด
แก้ไขบั๊ก & ความเสถียร
การป้องกัน enumeration ในการตรวจสอบลืมรหัสผ่าน
การยืนยันลืมรหัสผ่าน ขณะนี้ส่งคืนข้อผิดพลาด verification_code.code_mismatch เดียวเสมอ
ช่วยป้องกันการระบุบัญชีผ่านการตอบกลับข้ อผิดพลาดที่แตกต่างกัน (enumeration)
redirect Social และ SSO ใน in-app browsers
ปรับปรุงให้ระบบ redirect สำหรับโซเชียลและ SSO ในเบราว์เซอร์ภายในแอป เช่น Instagram, Facebook, และ LINE มีความเสถียรมากขึ้น
เบราว์เซอร์ในแอปบางชนิดจะเปิดหน้าผู้ให้บริการ OAuth ใน WebView ใหม่ ซึ่งค่า sessionStorage อาจสูญหายหลัง redirect กลับ
รุ่นนี้ได้เพิ่ม fallback localStorage ดังนี้:
- สถานะ redirect ยังเก็บใน
sessionStorageตามปกติ - มีการจัดเก็บ redirect context bundle ซ้ำใน
localStorageด้วย - เมื่อตอบ callback Logto จะกู้สถานะจาก
localStorageหากsessionStorageไม่มีข้อมูล - รายการ fallback จะถูกนำออกเมื่อถูกอ่าน และจะถูกล้างอัตโนมัติหลังผ่านไป 10 นาที
- ถ้าไม่มีข้อมูลทั้งสองที่ ผู้ใช้จะพบข้อความแสดงข้อผิดพลาด (error toast)
ขอ IP ของผู้ใช้งานเมื่อส่ง code ยืนยันตัวตน
แก้ไขปัญหาที่ IP ที่ร้องขอไม่ถูกส่งไปยังตัวเชื่อมต่อเมื่อส่งรหัสยืนยันตัวตน
ทำให้ตัวเชื่อมต่อสามารถรับบริบท IP ที่ถูกต้องในการจัดส่งรหัสยืนยันตัวตนได้

