Logto 产品更新(2024年 7月)
上个月我们引入了很多新功能和改进。我们还有关于合规的重大消息要分享。
合规
我们已正式通过 SOC 2 Type I 认证!🎉 Type II 审计也即将到来。
Just-in-Time 组织供应
此功能允许用户在通过一些身份验证方法首次登录时,自动加入组织并获得角色分配。你可以设置 Just-in-Time 供应的要求。
要使用此功能,请前往组织设置并找到 "Just-in-Time 供应" 部分。管理 API 也可用于通过 /api/organizations/{id}/jit
路由配置此功能。了解更多信息,请参阅 Just-in-Time 供应。
邮件域名
如果有新用户满足以下条件,他们将自动加入启用了 Just-in-Time 供应的组织:
- 使用已验证的电子邮件地址注册,或;
- 使用已验证的电子邮件地址通过社交登录。
这适用于已配置相同电子邮件域名的组织。
点击展开
要启用此功能,你可以通过管理 API 或 Logto 控制台添加电子邮件域名:
- 我们为管理 API 添加了以下新端点:
GET /organizations/{organizationId}/jit/email-domains
POST /organizations/{organizationId}/jit/email-domains
PUT /organizations/{organizationId}/jit/email-domains
DELETE /organizations/{organizationId}/jit/email-domains/{emailDomain}
- 在 Logto 控制台中,你可以在组织详情页面 -> "Just-in-Time 供应" 部分管理电子邮件域名。
SSO 连接器
第一次通过企业 SSO 登录的新用户或现有用户将自动加入为 SSO 连接器配置了 Just-in-Time 供应的组织。
点击展开
要启用此功能,你可以通过管理 API 或 Logto 控制台添加 SSO 连接器:
- 我们为管理 API 添加了以下新端点:
GET /organizations/{organizationId}/jit/sso-connectors
POST /organizations/{organizationId}/jit/sso-connectors
PUT /organizations/{organizationId}/jit/sso-connectors
DELETE /organizations/{organizationId}/jit/sso-connectors/{ssoConnectorId}
- 在 Logto 控制台中,你可以在组织详情页面 -> "Just-in-Time 供应" 部分管理 SSO 连接器。
组织默认角色
你还可以配置通过此功能供应的用户的默认角色。当用户被供应时,将分配默认角色。
点击展开
要启用此功能,你可以通过管理 API 或 Logto 控制台设置默认角色:
- 我们为管理 API 添加了以下新端点:
GET /organizations/{organizationId}/jit/roles
POST /organizations/{organizationId}/jit/roles
PUT /organizations/{organizationId}/jit/roles
DELETE /organizations/{organizationId}/jit/roles/{organizationRoleId}
- 在 Logto 控制台中,你可以在组织详情页面 -> "Just-in-Time 供应" 部分管理默认角色。
组织的机器对机器应用
此功能允许将机器对机器应用与组织关联,并分配组织角色。
OpenID Connect 授权
client_credentials
授权类型现在支持组织。你可以使用此授权类型为组织获取访问令牌。
点击展开控制台更新
- 为组织角色添加了新的 "机器对机器" 类型。所有现有角色现在都是 "用户" 类型。
- 你可以在组织详情页面 -> 机器对机器应用部分管理机器对机器应用。
- 你可以在机器对机器应用详情页面查看关联的组织。
点击展开管理 API 更新
向管理 API 中添加了一组新端点:
/api/organizations/{id}/applications
用于管理机器对机器应用。/api/organizations/{id}/applications/{applicationId}
用于管理组织中的特定机器对机器应用。/api/applications/{id}/organizations
用于查看机器对机器应用的关联组织。
Swagger (OpenAPI) 改进
在 OpenAPI 响应中为管理 API 构建 operationId
根据 规范:
operationId
是用于标识操作的可选唯一字符串。如果提供,这些 ID 必须在 API 描述的所有操作中唯一。
这极大地简化了在不同语言中创建客户端 SDK 的过程,因为它生成了更有意义的函数名称,而不是自动生成的名称,如下示例:
修复了 GET /api/swagger.json
端点返回的 OpenAPI 架构
:
字符在参数名称中无效,例如organizationId:root
。这些字符已替换为-
。/api/.well-known/endpoints/{tenantId}
路由的tenantId
参数在生成的 OpenAPI 规格文件中缺失,导致验证错误。此问题已修复。
后端通道注销支持
我们启用了 OpenID Connect Back-Channel Logout 1.0 的支持。
要注册后端通道注销,请导航到 Logto 控制台中的应用详情页面,并找到 "后端通道注销" 部分。输入 RP 的后端通道注销 URL 并点击 "保存"。
你还可以为后端通道注销启用会话要求。启用后,Logto 将在注销令牌中包含 sid
声明。
对于编程注册,你可以在应用的 oidcClientMetadata
对象中设置 backchannelLogoutUri
和 backchannelLogoutSessionRequired
属性。
登录体验
支持 Google One Tap
当你添加 Google 作为社交连接器时,你现在可以启用 Google One Tap,为具有 Google 帐户的用户提供更流畅的登录体验。
前往 Logto 控制台中的 Google 连接器设置,并开启 "Google One Tap" 选项。
要了解更多关于 Google One Tap 的信息,请参阅 启用 Google One Tap。
允许在登录期间跳过手动账户关联
你可以在控制台 -> 登录体验 -> 注册和登录 -> 社交登录 -> 自动账户关联 中找到此配置。
当开启时,如果用户使用系统新身份登录,并且恰好有一个现有帐户具有相同标识符(如邮箱),Logto 将自动将帐户与社交身份关联,而不会提示用户手动账户关联。
同意登录体验的条款政策
我们添加了一个新的配置,允许你设置登录体验的服务条款同意政策:
- 自动:用户通过继续使用服务自动同意条款。
- 仅手动注册:用户在注册期间必须通过勾选框同意条款,登录时不需要同意。
- 手动:用户在注册或登录时必须通过勾选框同意条款。
控制台改进
- 添加了 Ruby 和 Chrome 扩展指南。
- 在应用详情表单中显示 OIDC 发行者端点。
- 应用指南已被重新组织,以提供更好的开发者体验。
- 现在你可以在用户设置页面查看和更新用户的
profile
属性。 - 改善了机器对机器应用集成用户体验。
- 修复了一个回归 bug,当日志与已删除的应用有关联时,审计日志中的错误弹窗问题。
其他改进
- 添加了
hasPassword
到自定义 JWT 用户上下文。 - 连接器:Google 和 Azure AD 连接器现在支持自定义
prompt
。 - 支持按组织的多因素身份验证要求:
- 现在,组织可以要求其成员配置多因素身份验证 (MFA)。如果组织有此要求且成员未配置 MFA,成员将无法获取组织访问令牌。
- 当你登录到实时预览时,会显示一个开发面板。
GET /api/organizations/{id}/users/{userId}/roles
的分页现在是可选的。如果你不提供page
和limit
查询参数,API 将返回所有角色。- 添加了用户详情数据负载到
User.Deleted
webhook 事件。