简体中文
  • release

Logto 产品更新

Logto v1.38.0 已发布。本次版本带来了对 OAuth 2.0 设备授权模式的支持、Passkey 免密登录、自适应多因素认证 (MFA)、会话和授权管理,以及对开源部署更灵活的 OIDC 配置。

Charles
Charles
Developer

不要在用户认证上浪费数周时间
使用 Logto 更快地发布安全应用。几分钟内集成用户认证,专注于您的核心产品。
立即开始
Product screenshot

我们很高兴地宣布 Logto v1.38.0 —— 这是我们 2026 年 3 月的版本更新!本次更新为输入受限的应用新增了设备流,推出了 Passkey 免密登录、自适应 MFA 优化,并在 Logto 全面扩展了会话、授权及租户级配置的管控能力。

针对输入受限应用的设备流

本次版本的最大亮点之一就是对 OAuth 2.0 设备授权授权模式的支持。这大大简化了在没有全键盘或浏览器体验的设备(如智能电视、命令行工具、游戏主机、物联网设备)上构建认证流程。

使用设备流,用户可以:

  • 在设备上发起登录
  • 在另一台设备上打开验证网址
  • 输入一个简短的用户代码
  • 完成认证
  • 回到原始设备并获取签发的令牌

我们还为设备流应用增加了完整的 Console 支持。你现在可以通过原生应用下选择 输入受限应用 / CLI 创建设备流应用,或者在手动创建应用时选择 设备流 作为授权模式。应用设置页还集成了新手指引和演示,助你快速上手。

Passkey 免密登录升级为一等认证方式

本次新版引入了 Passkey 免密登录作为 Logto 的主流认证方式。

使用 Passkey 登录可以为回访用户带来更快、更安全且无密码的体验,并进一步提升账号安全。它支持 Face ID、Touch ID 和 Windows Hello 等主流平台认证器。

我们支持了多种基于 Passkey 的用户登录流程:

  • 专属的 使用 Passkey 继续 按钮,一键快速登录
  • 以标识优先的流程,优先进行 Passkey 验证,验证失败时可回退到密码或验证码
  • 浏览器自动填充体验,用户可直接在标识输入框选择已保存的 Passkey
  • 新用户注册时进行 Passkey 绑定
  • 已有 WebAuthn MFA 凭证的用户可直接用于 Passkey 登录,无需二次注册

更多详细信息可参见我们的 Passkey 登录文档

自适应 MFA 及更智能的 MFA 指引

本次版本在现代化 MFA 体验方面持续加码,包含两项重大升级。

自适应 MFA

Logto 已支持自适应 MFA。启用后,登录流程会根据当前登录上下文评估自适应 MFA 规则,满足条件时要求额外 MFA 验证。

同时涵盖:

  • Console 中的自适应 MFA 配置界面
  • 将登录上下文持久化到交互数据
  • 在自定义声明脚本中访问 context.interaction.signInContext
  • 新增 PostSignInAdaptiveMfaTriggered webhook 事件

可选 MFA 引导页

对于不强制要求配置 MFA 的用户,Logto 现可在凭证验证后显示专属引导页,主动询问用户是否要开启 MFA 以提升安全。

这对于配合 Passkey 登录尤其实用,用户可选择单独用 Passkey 登录,也可以额外激活 MFA 双重保护。

会话及授权管理能力覆盖 APIs 和 Console

本次版本为账户和管理侧带来了一组围绕用户会话和授权应用的重大新功能。

用户会话管理

Logto 现已支持在账户 API 和管理 API 中进行会话管理。你可以列出活跃会话、查看会话详情,并根据需要撤销会话与授权。

我们还引入了:

  • Account Center 设置页面新增 session 权限(含 off, readOnly, edit 选项)
  • 面向账户 API 访问的用户作用域 urn:logto:scope:sessions
  • 会话上下文增加了 IP、用户代理、地理定位等丰富信息(若可用)

在 Console 侧,用户详情页新增了 活跃会话 区块及可撤销的会话详情页。

授权应用授权管理

Logto 现可在账户及管理 API 中列举和撤销用户应用授权。

此外,Console 用户详情页增加了 已授权第三方应用 区块。管理员可查看当前激活的第三方授权、关联元数据(如应用名、创建时间),并直接在界面上撤销访问权限。

应用层并发设备数限制

应用现支持在 customClientMetadata 中配置 maxAllowedGrants,以限制某一用户对该应用的最大活跃授权数。一旦超过指定数量,Logto 会自动撤销最早的授权记录。

Console 也新增了 并发设备数限制 区块,由你可视化配置。

开源场景下更灵活的 OIDC 设置管控

对于开源用户,本次版本让 OIDC 设置更加灵活易用。

你现在可以直接在 logto-config 文件中定义 oidc.session.ttl,自定义 OIDC 提供方的会话生存期(单位:秒)。如未设置,默认仍为 14 天。

我们还增加了:

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

在 Console 侧,开源用户新获 租户 -> 设置 页面,并以 OIDC 设置 标签页取代原有签名秘钥页。新页面还包含 会话最大生存期 字段(单位:天)。

如你在使用开源版,记得在更改配置后重启服务以加载新的 OIDC 设置。如需配置变更后自动生效,可考虑开启 中心化 Redis 缓存

账户中心升级

开箱即用的账户中心本次也获得了若干实用优化。

用户现在可以:

  • 通过专属 /authenticator-app/replace 路由替换认证器应用
  • 使用 identifier url 参数提前填写标识信息
  • 通过 ui_locales url 参数覆盖内置语言

我们还优化了密码表单,更好兼容浏览器自动填充与密码管理器。

面向开发者的 API 优化

为方便团队批量迁移用户,本次 GET /usersGET /users/:userId 接口支持了 includePasswordHash 查询参数。开启后,接口数据将包含 passwordDigestpasswordAlgorithm,助力涉及原始密码哈希数据的迁移流程。

我们还支持了用于服务到服务间委托场景的 Access Token 交换。Logto 现在支持标准的 urn:ietf:params:oauth:token-type:access_token,可把 opaque 或 JWT 类型的 Access Token 交换为不同 Audience 的新 Token。

Bug 修复

本次版本还带来多项稳定性与兼容性提升:

  • 针对 TOTP、WebAuthn、备份码的 MFA 验证路由现会向 Sentinel 上报操作,便于检测和隔离重复失败。
  • OIDC 适配器对 findByUidfindByUserCode 的查询现已采用字面 JSONB 键,提升数据库表达式索引在通用计划下的性能。
  • Postgres 连接池初始化时会在遇到临时启动异常时自动重试。
  • 旧版密码验证现已支持 hex: 前缀的 PBKDF2 salt 值,便于用户导入。
  • Token 交换的性能通过缓存最小化的 OIDC 资源查找和预生成授权 ID 得到提升。
  • Twilio SMS 的 To 格式现已规范化,非 E.164 号码也会强制加 + 前缀。

破坏性变更

本次版本的连接器工具包包含破坏性变更:

已长期弃用的 mockSmsVerificationCodeFileName 导出自 @logto/connector-kit 中移除。

我们还调整了模拟连接器用于存储发送消息记录的路径:

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

如果你的本地或 Docker 流程依赖旧路径,请及时更新。

新贡献者

感谢以下新贡献者对 Logto 的优化和完善:


快速上手

准备升级了吗?欢迎查看我们的 升级指南 获取详细步骤。

所有变动详见 GitHub 发布页

有疑问或建议?欢迎加入我们的 Discord 社区 或在 GitHub 反馈。