• release

อัปเดตผลิตภัณฑ์ Logto

Logto v1.38.0 มาแล้ว รุ่นนี้มาพร้อมกับการรองรับ OAuth 2.0 Device Authorization Grant, การลงชื่อเข้าใช้ด้วย passkey, Adaptive MFA, การจัดการ sessions และ grants ตลอดจนการตั้งค่า OIDC ที่ยืดหยุ่นมากขึ้นสำหรับการใช้งาน OSS

Charles
Charles
Developer

หยุดเสียเวลาเป็นสัปดาห์กับการยืนยันตัวตนผู้ใช้
เปิดตัวแอปที่ปลอดภัยเร็วขึ้นด้วย Logto ผสานการยืนยันตัวตนผู้ใช้ภายในไม่กี่นาทีและมุ่งเน้นที่ผลิตภัณฑ์หลักของคุณ
เริ่มต้นใช้งาน
Product screenshot

เราตื่นเต้นที่จะประกาศเปิดตัว Logto v1.38.0 สำหรับเดือนมีนาคม 2026! อัปเดตนี้ได้นำ device flow สำหรับแอปที่จำกัดการป้อนข้อมูล, แนะนำการลงชื่อเข้าใช้ด้วย passkey และการปรับปรุง Adaptive MFA พร้อมทั้งขยายการควบคุม session, grant, และการตั้งค่าระดับ tenant ทั่วทั้ง Logto

Device flow สำหรับแอปที่จำกัดการป้อนข้อมูล

หนึ่งในการอัปเดตสำคัญครั้งนี้คือการรองรับ OAuth 2.0 Device Authorization Grant ทำให้ง่ายขึ้นมากในการสร้าง flow การรับรองตัวตนสำหรับอุปกรณ์ที่ไม่มีคีย์บอร์ดหรือเบราว์เซอร์ครบถ้วน เช่น ทีวีอัจฉริยะ, เครื่องมือ CLI, คอนโซลเกม และอุปกรณ์ IoT

ด้วย device flow ผู้ใช้สามารถ:

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

เราเพิ่มการรองรับ Console เต็มรูปแบบสำหรับแอป Device flow แล้ว ขณะนี้คุณสามารถสร้างแอป Device flow ได้โดยเลือก Input-limited app / CLI ในกลุ่ม Native apps หรือเลือก Device flow เป็น authorization flow เมื่อสร้างแอปแบบกำหนดเอง หน้าการตั้งค่าแอปยังมีคู่มือและตัวอย่างแถมมาให้ด้วย เพื่อช่วยให้คุณเริ่มต้นใช้งานได้ง่ายขึ้น

Passkey sign-in กลายเป็น flow หลัก

รุ่นนี้นำเสนอการลงชื่อเข้าใช้ด้วย passkey อย่างเต็มรูปแบบเป็นหนึ่งในวิธีรับรองตัวตนของ Logto

การลงชื่อเข้าใช้ด้วย passkey ให้ประสบการณ์ที่เร็วขึ้นโดยไม่ต้องใช้รหัสผ่านสำหรับผู้ใช้ที่กลับมา พร้อมทั้งเพิ่มความปลอดภัยบัญชี สามารถใช้งานร่วมกับ Platform Authenticator ที่คุ้นเคยเช่น Face ID, Touch ID และ Windows Hello

เราได้รองรับเส้นทางสำหรับผู้ใช้ที่เน้น passkey หลายทาง:

  • ปุ่ม Continue with passkey โดยเฉพาะเพื่อเข้าสู่ระบบทันที
  • flow ที่ตรวจสอบตัวตนด้วย passkey ก่อน เช่น identifier-first flow ก่อน fallback ไปยังรหัสผ่านหรือรหัสยืนยัน
  • รองรับ browser autofill ทำให้เลือก passkey ที่บันทึกไว้ได้โดยตรงจากช่องป้อนข้อมูล
  • ผูก passkey ระหว่างการสมัครสำหรับผู้ใช้ใหม่
  • ใช้ MFA credential แบบ WebAuthn ที่มีอยู่ สำหรับลงชื่อเข้าใช้ด้วย passkey โดยไม่ต้องลงทะเบียนใหม่อีกครั้ง

ดูรายละเอียดเพิ่มเติมที่ เอกสารการลงชื่อเข้าใช้ด้วย passkey

Adaptive MFA และคำแนะนำ MFA ที่ดีขึ้น

รุ่นนี้ยังมุ่งเน้นการพัฒนา MFA สมัยใหม่ด้วยการปรับปรุงหลักสองข้อ

Adaptive MFA

Adaptive MFA มีให้ใช้ใน Logto แล้ว เมื่อเปิดใช้งาน flow การลงชื่อเข้าใช้จะประเมินกฎ Adaptive MFA กับ context ปัจจุบันและร้องขอ MFA เมื่อเงื่อนไขถูกกระตุ้น

ประกอบด้วย:

  • การตั้งค่า Adaptive MFA ใน Console
  • session context ใน interaction data ถูกบันทึกไว้
  • script custom-claims สามารถเข้าถึง context.interaction.signInContext
  • เหตุการณ์ webhook ใหม่ PostSignInAdaptiveMfaTriggered

การ onboarding MFA แบบเลือกได้

สำหรับผู้ใช้ที่ไม่ได้บังคับให้ต้องตั้งค่า MFA ตอนนี้ Logto สามารถแสดงหน้าสำหรับ onboarding หลังการยืนยัน credential แยกต่างหาก เพื่อสอบถามว่าต้องการเปิด MFA เพิ่มเพื่อความปลอดภัยหรือไม่

ฟีเจอร์นี้มีประโยชน์โดยเฉพาะเมื่อลงชื่อเข้าใช้ด้วย passkey ซึ่งผู้ใช้อาจเลือกใช้แค่ passkey โดยไม่เปิด MFA เสริมตอนนั้น

การจัดการ Session และ Grant ทั้ง API และ Console

รุ่นนี้ได้เพิ่มการควบคุมบัญชีและผู้ดูแลระบบสำหรับ session ของผู้ใช้และแอปพลิเคชันที่ได้รับอนุญาต

การจัดการ session ของผู้ใช้

Logto ขณะนี้รองรับการจัดการ session ทั้งบน account APIs และ management APIs สามารถดูรายการ sessions ที่ใช้งาน ตรวจสอบรายละเอียดแต่ละ session และยกเลิก session พร้อมทั้งเลือกยกเลิก grant ได้ด้วย

ยังมีการปรับปรุงด้าน:

  • สิทธิ์ session ใหม่ใน Account Center มีตัวเลือก off, readOnly และ edit
  • user scope ใหม่ urn:logto:scope:sessions สำหรับใช้กับ session ใน account API
  • session context ที่แสดง IP, user agent, และพิกัด GEO เมื่อมีข้อมูล

บนฝั่ง Console รายละเอียดผู้ใช้จะแสดงเซกชัน Active sessions และหน้ารายละเอียด session พร้อมปุ่มยกเลิก

การจัดการ grant ของแอปพลิเคชันที่ได้รับอนุญาต

Logto รองรับแสดงรายการและยกเลิก grant ของแอปพลิเคชันที่ได้รับอนุญาตของผู้ใช้แล้วทั้งทาง account และ management APIs

รุ่นนี้ยังมีเซกชัน Authorized third-party apps ใหม่บนหน้า user details ใน Console ผู้ดูแลสามารถดูการอนุญาตของแอปภายนอก, ตรวจดูเมตาดาต้า (ชื่อแอป เวลาสร้าง), และยกเลิกสิทธิ์จาก UI ได้โดยตรง

ขีดจำกัดอุปกรณ์พร้อมกันในระดับแอปพลิเคชัน

แอปพลิเคชันสามารถกำหนดค่า maxAllowedGrants ใน customClientMetadata เพื่อจำกัดจำนวน grant ที่ผู้ใช้สามารถมีในการใช้งานแอปได้ ถ้าเกินขีดจำกัดนี้ Logto จะยกเลิก grant ที่เก่าที่สุดโดยอัตโนมัติ

Console มีเซกชัน Concurrent device limit ในรายละเอียดแอป สามารถตั้งค่าผ่านหน้าจอได้

การควบคุม OIDC สำหรับ OSS ที่ยืดหยุ่นกว่าเดิม

สำหรับผู้ใช้ OSS รุ่นนี้ทำให้ตั้งค่า OIDC ง่ายและยืดหยุ่นขึ้น

สามารถกำหนด oidc.session.ttl ใน logto-config เพื่อปรับอายุ session ของผู้ให้บริการ OIDC เป็นวินาที หากไม่ได้ตั้ง ค่าเริ่มต้นคือ 14 วัน

เรายังเพิ่ม:

  • GET /api/configs/oidc/session
  • PATCH /api/configs/oidc/session

บน Console ฝั่ง OSS มีหน้า Tenant -> Settings ใหม่ พร้อมแท็บ OIDC settings แทนหน้าคีย์เซ็นชื่อเก่า หน้าใหม่มีช่อง Session maximum time to live สำหรับปรับ TTL ของ session เป็นวัน

หากใช้งาน OSS อย่าลืมรีสตาร์ท service หลังปรับ config เพื่อโหลดค่า OIDC ใหม่ ถ้าอยากให้ config อัปเดตอัตโนมัติ ให้เปิดใช้งาน central Redis cache

ปรับปรุง Account Center

Account Center ที่ใช้งานได้ทันทีนี้ได้รับการปรับปรุงหลายรายการเช่นกันในรุ่นนี้

ผู้ใช้สามารถ:

  • เปลี่ยนแอป authenticator ของตนผ่านทาง /authenticator-app/replace
  • ใช้พารามิเตอร์ identifier ใน URL เพื่อเติมข้อมูล identifier ให้ล่วงหน้า
  • เปลี่ยนภาษาของ Account Center ใน URL ด้วย ui_locales

เรายังปรับปรุงฟอร์มรหัสผ่านให้รองรับ browser autofill และ password manager ดียิ่งขึ้น

ปรับปรุง API สำหรับนักพัฒนา

สำหรับทีมที่นำเข้าผู้ใช้สู่ Logto endpoint GET /users และ GET /users/:userId สามารถใส่ query parameter includePasswordHash ได้แล้ว เมื่อเปิดใช้งาน response จะมี passwordDigest และ passwordAlgorithm เหมาะกับ workflow migration ที่ต้องการ hash รหัสผ่านดิบ

เรายังเพิ่มการรองรับการแลกเปลี่ยน access token ในสถานการณ์ delegate ระหว่าง service Logto สามารถแลกเปลี่ยน access token แบบ opaque หรือ JWT เพื่อนำไปใช้กับ audience อื่น โดยใช้ token type มาตรฐาน urn:ietf:params:oauth:token-type:access_token

แก้ไขข้อบกพร่อง

รุ่นนี้ยังมีการแก้ไขปัญหาเสถียรภาพและความเข้ากันได้หลายรายการ:

  • route ยืนยันตัวตน MFA สำหรับ TOTP, WebAuthn, และ codes สำรอง ตอนนี้รายงาน activity ไปที่ Sentinel ทำให้ตรวจจับปัญหาได้ง่ายขึ้น
  • การ query OIDC adapter สำหรับ findByUid และ findByUserCode ตอนนี้ใช้ JSONB key แบบ literal เพื่อให้ index แสดงประสิทธิภาพดียิ่งขึ้นภายใต้ plan แบบ generic
  • การ initialize Postgres pool จะ retry หากพบ connection error ช่วง startup
  • การยืนยันรหัสผ่านแบบ legacy รองรับค่า salt PBKDF2 ที่ขึ้นต้นด้วย hex: ตอนนำเข้าผู้ใช้
  • ประสิทธิภาพการแลกเปลี่ยน token ดีขึ้น โดย cache ผล lookup OIDC resource ที่จำนวนน้อยและสร้าง grant ID ล่วงหน้าตอนออก token
  • รูปแบบเบอร์ Twilio SMS To ถูกปรับให้รับกับหมายเลขที่ไม่ใช่ E.164 โดยต้องมี + นำหน้าเสมอ

การเปลี่ยนแปลงสำคัญที่กระทบ (Breaking changes)

รุ่นนี้มีการเปลี่ยนแปลง breaking change ต่อ connector toolkit

การ export mockSmsVerificationCodeFileName ซึ่งถูกเลิกใช้มานาน ถูกลบออกจาก @logto/connector-kit

เราได้อัปเดต path ที่ใช้เก็บข้อความ mock connector ดังนี้:

  • /tmp/logto_mock_email_record.txt -> /tmp/logto/mock_email_record.txt
  • /tmp/logto_mock_sms_record.txt -> /tmp/logto/mock_sms_record.txt

หาก workflow ของคุณ (ทั้ง local หรือ Docker) พึ่งพา path เก่าจะต้องอัปเดต path ตามนี้

ผู้ร่วมสมทบใหม่

ขอบคุณผู้ร่วมสมทบใหม่ทุกคนที่ช่วยพัฒนา Logto:


เริ่มต้นใช้งาน

พร้อมอัปเกรดแล้วหรือยัง? อ่าน คู่มืออัปเกรด ของเราเพื่อดูขั้นตอนแบบละเอียด

ดูรายการเปลี่ยนแปลงทั้งหมดได้ที่ GitHub release page

มีคำถามหรือข้อเสนอแนะ? เข้าร่วมกับเราที่ Discord หรือเปิด issue ที่ GitHub