简体中文
Logto 产品更新
Logto v1.39.0 已发布,带来了更安全的签名密钥轮换、更智能的 JWT 脚本错误处理、扩展的账户中心安全控制、WhatsApp 连接器支持,以及关键安全性改进。
我们非常高兴推出 Logto v1.39.0,本次版本专注于更强的操作安全性、更灵活的令牌自定义以及改进的终端用户账户安全。本版本新增私有签名密钥轮换宽限期、自定义 JWT 脚本可配置错误处理、新账户中心安全页面、通过 Meta Cloud API 的 WhatsApp 连接器支持,以及认证流程中的若干安全与稳定性改进。
主要亮点
- 私有签名密钥轮换宽限期:Logto 现在支持在轮换私有签名密钥时的宽限期,帮助客户端在不中断服务的情况下刷新缓存的 JWKS。
- 自定义 JWT 脚本错误处理:在访问令牌和客户端凭证 JWT 自定义脚本执行失败时,现在可以阻止令牌发放。
- 账户中心安全页面:终端用户现在可以在账户中心管理社交账户关联、多因素认证(MFA)和账户删除。
- WhatsApp 连接器:新增 WhatsApp 短信连接器,可通过 Meta Cloud API 使用。
- 安全性与兼容性修复:忘记密 码验证响应已统一,降低账户枚举风险,同时应用内浏览器的社交 / SSO 重定向更加稳健。
新功能与增强
私有签名密钥轮换宽限期
Logto 现在在私有签名密钥轮换期间支持宽限期。
可通过以下方式进行配置:
PRIVATE_KEY_ROTATION_GRACE_PERIOD环境变量。--gracePeriodCLI 选项。
在宽限期内:
- 新生成的签名密钥被标记为 下一个(Next)。
- 现有的签名密钥仍然作为 当前(Current) 激活。
- 客户端有时间刷新缓存的 JWKS,防止新密钥激活前出现问题。
宽限期结束后:
- 新的私有签名密钥切换为 当前(Current)。
- 旧签名密钥被标记为 先前(Previous)。
这一机制提供了更平滑的密钥轮换流程,帮助避免因 JWKS 缓存未及时更新导致的认证失败。
文档:轮换签名密钥
自定义 JWT 脚本错误处理
Logto 现在支持用于自定义 JWT 脚本的可配置错误处理,适用于访问令牌和客户端凭证流程。
涉及的更改:
- 现在自定义 JWT 脚本在执行失败时可阻止令牌发放;
api.denyAccess()保持access_denied响应;- 其他阻断模式下的脚本失败会返回本地化的
invalid_request响应; - 控制台增加专用的 错误处理 选项卡用于配置行为;
- 新创建的脚本默认开启
blockIssuanceOnError; - 没有保存该值的现有脚本则维持原有(关闭)策略;
- 控制台内相关引导、短语、Schema 以及集成文档已更新。
这帮助开发者根据自身安全要求选择令牌自定义失败时应“宽进”还是“严进”。
账户中心安全页面
本次版本为开箱即用的账户中心新增了安全页面。
终端用户现在可在 /account/security 页面管理账户安全,包括:
- 社交账户的绑定与解绑;
- MFA 双步验证;
- 账户删除。
控制台支持:
- 登录体验相关设置现在可配置账户删除 URL 字段;
- 控制台界面中暴露账户中心与社交预置 UI 入口。
通过 Meta Cloud API 的 WhatsApp 连接 器
新增 WhatsApp 连接器,可通过 Meta Cloud API 发送消息。
这使得可基于 WhatsApp 进行短信/验证码发送场景,并使用官方 Meta Cloud API 集成。
组织分配 API 返回体
组织用户和角色分配 API 现在会返回响应体。
更新的接口有:
POST /organizations/:id/users现在返回{ userIds: string[] },回显请求中发送的用户 ID;POST /organizations/:id/users/:userId/roles现在返回{ organizationRoleIds: string[] },包含最终分配的去重后的组织角色 ID(包括由名称解析获得的角色)。
控制台主题 Token 更新
控制台主题现在为明暗模式补全了缺失的 --color-overlay-primary-subtle token。

