Logto v1.36 มาแล้ว! ในเวอร์ชันนี้มีการเพิ่มการรองรับ wildcard redirect URI, การควบคุม token exchange ระดับแอป และความสามารถในการเชื่อถืออีเมลที่ไม่ได้ยืนยันใน OIDC connectors
Wildcard redirect URIs#
ขอบคุณผู้มีส่วนร่วมจากชุมชน @Arochka ตอนนี้คุณสามารถใช้รูปแบบ wildcard (*) ใน redirect URIs ได้ นี่จะมีประโยชน์อย่างยิ่งสำหรับสภาพแวดล้อมที่เปลี่ยนแปลงแบบไดนามิกเช่นการดีพลอยแบบพรีวิวที่ URL จะถูกสร้างขึ้นทันที
กฎสำหรับเว็บแอปพลิเคชัน:
Wildcard ใช้งานได้ใน hostname และ pathname ของ http/https URIs
Wildcard ไม่อนุญาตใน scheme, port, query หรือ hash
รูปแบบ hostname ต้องมีจุด (dot) อย่างน้อยหนึ่งจุดเพื่อป้องกันการแมตช์ที่กว้างเกินไป
Token exchange พร้อมการควบคุมระดับแอป#
ตอนนี้ token exchange ใช้งานได้สำหรับแอปพลิเคชันแบบ machine-to-machine และคุณสามารถควบคุมได้อย่างละเอียดว่าแอปไหนสามารถใช้ฟีเจอร์นี้ได้
เพิ่มการตั้งค่า allowTokenExchange ในการตั้งค่าของแอปพลิเคชัน
แอปใหม่จะปิดใช้งาน token exchange โดยค่าเริ่มต้น
แอป first-party เดิมทั้ง Traditional, Native, SPA จะยังคงเปิดใช้งานเพื่อความเข้ากันได้กับของเดิม
แอป third-party ไม่สามารถใช้ token exchange ได้
Console จะแสดงคำเตือนความเสี่ยงเมื่อเปิดใช้ฟีเจอร์นี้กับ public clients
เชื่อถืออีเมลที่ไม่ได้ยืนยันสำหรับ OIDC connectors#
ผู้ให้บริการระบุตัวตนบางรายไม่คืนค่า email_verified หรือให้ค่าเป็น false แม้ว่าอีเมลจะถูกต้อง ตอนนี้คุณสามารถตั้งค่า OIDC social connectors และ enterprise SSO connectors ให้ซิงค์อีเมลได้ไม่ว่าอีเมลจะได้รับการยืนยันหรือไม่
เปิดใช้งาน trustUnverifiedEmail ในการตั้งค่า connector ของคุณ (ค่าเริ่มต้นคือ false) ตัวเลือกนี้เปิดให้ใช้ใน Admin Console สำหรับ OIDC และ Azure AD SSO connectors
ข้ามการเก็บ identifier ในการลงชื่อเข้าใช้ด้วยโซเชียล#
Apple App Store กำหนดว่า "Sign in with Apple" จะต้องไม่ขอข้อมูลเพิ่มเติมนอกเหนือจากที่ Apple ให้ เพื่อช่วยในเรื่องนี้ เราได้เพิ่มตัวเลือกใหม่ในการข้ามการเก็บ identifier ที่จำเป็นระหว่างการลงชื่อเข้าใช้ด้วยโซเชียล
คุณจะพบช่อง "Require users to provide missing sign-up identifier" ในส่วน Social sign-in ของการตั้งค่าประสบการณ์ลงชื่อเข้าใช้
การปรับปรุง API#
User role APIs ตอนนี้ตอบกลับผลลัพธ์
POST /users/:userId/roles ตอบกลับ { roleIds, addedRoleIds } เพื่อแสดงว่าได้กำหนด roles ไหนใหม่
PUT /users/:userId/roles ตอบกลับ { roleIds } เพื่อยืนยันสถานะสุดท้าย
เพิ่มฟังก์ชัน createApiClient ใน @logto/api
สร้าง API client ที่ type-safe พร้อมตรรกะดึง token ที่คุณปรับแต่งเองสำหรับ authentication flow ที่ยืดหยุ่น
แก้ไขบั๊ก#
Postgres timeout : ตั้งค่า DATABASE_STATEMENT_TIMEOUT=DISABLE_TIMEOUT เพื่อรองรับ PgBouncer/RDS Proxy
Enterprise SSO error : แก้รหัสข้อผิดพลาดเมื่อบัญชี SSO ไม่มีอยู่จริง
JIT email domains : ลบข้อจำกัดการแบ่งหน้าเพื่อให้แสดงทุก domain ใน Console
Direct sign-in : แก้ให้ไม่ส่งคำขอลงชื่อเข้าใช้อัตโนมัติซ้ำ
Audit log filters : แก้คำผิดที่ทำให้แสดงผล filter ว่างเปล่า