Logto 产品更新:云协作、直接登录、懒惰密码迁移等
使用 Logto 作为 OpenID Connect 身份提供者来构建你的应用生态系统;为应用添加双输入认证;并为 Blazor、SvelteKit、Nuxt.js、Expo (React Native) 和 Angular 提供新指南。
Logto 云协作
期待已久的功能终于来了!你现在可以邀请团队成员加入你的 Logto 租户。与团队成员合作管理你的应用、用户和其他资源。
按照以下步骤邀请你的团队成员:
- 前往租户设置 ("设置" 标签)。
- 点击 "成员" 标签。
- 点击 "邀请成员" 按钮。
填写你想邀请的团队成员的电子邮件地址,并选择你要分配给他们的角色:
- 管理员: 对所有租户资源的完全访问和管理权限。
- 协作者: 可以管理与身份相关的资源,但有以下限制:
- 没有访问账单信息的权限
- 不能邀请或管理其他成员
- 不能更改租户名称
- 不能删除租户
更多信息请参见 邀请你的团队成员。
直接登录
你现在可以通过跳过第一个屏幕来直接调用登录方法。当你有一个指向登录方法的直接链接时,这很有用。例如,当你在网站上有一个 "使用 Google 登录" 按钮时。
要使用此功能,你需要将 direct_sign_in
参数传递给验证请求。它支持以下方法:
- 社交连接器
- 企业单点登录 (SSO) 连接器
要了解更多,请查看 直接登录 文档。
首屏参数
可以通过在 OIDC 认证请求中设置 first_screen
参数来以特定屏幕启动登录体验。此参数旨在替换 interaction_mode
参数,后者现已弃用。
更多信息请参见 首屏 文档。
全面支持 OpenID Connect 标准声明
我们已经添加了对其余 OpenID Connect 标准声明 的支持。现在,这些声明可以在 ID 令牌和 /me
端点的响应中访问。
此外,我们遵循标准范围-声明映射。这意味着你可以使用 profile
范围检索大多数的个人信息声明,而 address
声明可以通过使用 address
范围来获得。
对于所有新引入的声明,我们将它们存储在 user.profile
字段中。
社交数据
除了 Logto 识别的声明之外,所有社交连接器现在还会将社交提供者返回的原始数据存储在 rawData
字段中。
要在用户对象中访问这些数据,可以使用 user.identities.[idp-name].details.rawData
字段。
懒惰密码迁移
当用户从遗留系统迁移到 Logto 时,你现在可以在 POST /users
API 中使用 passwordAlgorithm
和 passwordDigest
字段来存储用户的原始密码哈希值。
当前支持的算法有:
- Bcrypt
- MD5
- SHA1
- SHA256
- Argon2i
当用户登录时,Logto 将使用提供的算法和摘要来验证密码;如果验证成功,Logto 将自动将密码迁移到新的 Argon2 哈希。
更多信息请参见 API 参考。
改进
- 支持在
POST /users
API 中使用avatar
和customData
字段。 - 在 Logto OSS 控制台中支持签名密钥轮换。
- 在实时预览(演示应用)中将搜索参数传递给身份验证请求。
- 当带有搜索参数进入 Logto 演示应用时,如果用户未验证,搜索参数将被传递到身份验证请求中。这允许使用特定参数手动测试 OIDC 身份验证流程。
- 现在可以将
q
查询参数与GET /organization-roles
一起使用,以按角色 id、名称或描述过滤结果。
修复
- 控制台:修复了 Microsoft 社交连接器集成指南中的问题。
- 控制台:创建新的 API 资源时,指示器必须是有效的绝对 URI。
- 体验: 解决了第三方应用的
/interaction/consent
端点的 500 错误。 - 体验: 跳过本地环境中的非对象消息。这修复了新 iOS 版本
WKWebView
中的问题。
开发
@logto/connector-kit
: [破坏性] 更新SocialUserInfo
和GetUserInfo
类型。@logto/connector-kit
: [破坏性] 保护parseJson
和parseJsonObject
的结果。
进行中
我们正在开发以下功能:
- 可定制的访问令牌声明(即将推出)
- 用于组织的 API 资源
- 将 Logto 作为 SAML 身份提供者使用