管理用户
通过 Logto 控制台管理
浏览和搜索用户
要访问 Logto 控制台中的用户管理功能,请导航到 控制台 > 用户管理。进入后,你将看到所有用户的表格视图。
该表格由三列组成:
- 用户:显示有关用户的信息,例如他们的头像、全名、用户名、电话号码和电子邮件
- 来自应用程序:显示用户最初注册的应用程序名称
- 最近登录:显示用户最近一次登录的时间戳。
它支持 name、id、username、primary-phone、primary-email 的关键字映射。
添加用户
使用控制台,开发者可以为终端用户创建新账户。为此,请点击屏幕右上角的“添加用户”按钮。
在 Logto 控制台中或通过 Management API 创建用户时(不是通过 UI 自注册的终端用户),你必须至少提供一个标识符:primary email、primary phone 或 username。name 字段是可选的。
用户创建后,Logto 将自动生成一个随机密码。初始密码只会出现一次,但你可以稍后重置密码。如果你想设置一个特定的密码,可以在用户创建后使用 Management API patch /api/users/{userId}/password 进行更新。
你可以一键复制输入的标识符(电子邮件地址 / 电话号码 / 用户名)和初始密码,方便地将这些凭据分享给新用户,以便他们登录并开始使用。
如果你想实现仅限邀请的注册,我们建议使用魔法链接邀请用户。这允许只有白名单用户可以自注册并设置自己的密码。
查看和更新用户资料
要查看用户的详细信息,只需点击用户表中的相应行。这将带你进入“用户详情”页面,在这里你可以找到用户的资料信息,包括:
- 认证 (Authentication) 相关数据:
- 电子邮件地址 (primary_email):可编辑
- 电话号码 (primary_phone):可编辑
- 用户名 (username):可编辑
- 密码 (has_password):你可以重新生成一个随机密码。了解更多关于“重置用户密码”的信息。
- 多因素认证 (MFA) (mfa_verification_factor):查看用户已设置的所有认证 (Authentication) 因素(例如,通行密钥、认证器应用、备份代码)。可以在控制台中移除因素。
- 通行密钥:当租户中启用通行密钥登录时,你还可以在用户详情页面查看用户的登录通行密钥,并在需要时移除它们。这些通行密钥由 MFA 使用的相同 WebAuthn 凭证模型支持。
- 个人访问令牌:创建、查看、重命名和删除个人访问令牌。
- 连接:
- 社交连接 (identities):
- 查看用户关联的社交账户,包括从其社交提供商同步的社交 ID 和资料详情(例如,如果用户通过 Facebook 登录,将出现一个“Facebook”条目)。
- 你可以移除现有的社交身份,但不能代表用户关联新的社交账户。
- 对于启用了令牌存储的社交连接器,你可以在连接详情页面查看和管理访问令牌和刷新令牌。
- 企业 SSO 连接 (sso_identities):
- 查看用户关联的企业身份,包括从其企业身份提供商同步的企业 ID 和资料详情。
- 你不能在控制台中添加或移除企业 SSO 身份。
- 对于基于 OIDC 的企业连接器,启用了令牌存储的,你可以在连接详情页面查看和删除令牌。
- 社交连接 (identities):
- 用户资料数据:姓名、头像 URL、自定义数据和未包含的其他 OpenID Connect 标准声明。所有这些资料字段都是可编辑的。
- 会话:查看用户活动会话列表,包括设备信息 sessionId 和地理位置(如果适用)。在会话详情页面查看更多会话详情并撤销它。
在移除社交连接之前,确认用户有其他登录方法非常重要,例如另一个社交连接、电话号码、电子邮件或用户名和密码。如果用户没有其他登录方法,一旦社交连接被移除,他们将无法再次访问其账户。
查看用户活动
要查看用户的最近活动,请导航到“用户详情”页面的“用户日志”子选项卡。在这里,你可以找到一个表格,显示用户的最近活动,包括执行的操作、操作结果、相关应用程序以及用户执行操作的时间。
点击表格行以在用户日志中查看更多详细信息,例如 IP 地址、用户代理、原始数据等。
暂停用户
在“用户详情”页面,点击“三点” -> “暂停用户”按钮。
一旦用户被暂停,该用户将无法登录你的应用程序,并且在当前访问令牌过期后无法获取新的访问令牌。此外,该用户发出的任何 API 请求都将失败。
如果你想重新激活此用户,可以通过点击“三点” -> “重新激活用户”按钮来实现。
删除用户
在“用户详情”页面,点击“三点” -> “删除”按钮。删除用户无法撤销。
重置用户密码
在“用户详情”页面,点击“三点” -> “重置密码”按钮,然后 Logto 将自动重新生成一个随机密码。
重置密码后,复制并发送给终端用户。一旦“重置密码”模态关闭,你将无法再查看密码。如果忘记保存,可以再次重置。
你不能在 Logto 控制台中为用户设置特定密码,但可以使用 Management API PATCH /api/users/{userId}/password 来指定密码。
管理用户活动会话
在“用户详情”页面,通过点击特定会话的“管理”按钮导航到“会话详情”页面。在这里,你可以查看有关会话的详细信息,例如设备、位置和登录时间。如果你想让用户退出此会话,只需点击右上角的“撤销会话”按钮,会话将立即被撤销。
- 默认情况下,在控制台中撤销会话也将撤销与该会话相关的所有第一方应用程序授权,用户需要重新登录以恢复访问。任何预先发放给第一方应用程序的不透明访问令牌和刷新令牌也将立即被撤销。
- 对于具有
offline_access权限的第三方应用程序,撤销会话默认不会撤销应用程序授权,任何预先发放的刷新令牌仍可使用,直到授权过期。
管理用户授权的第三方应用程序
在“用户详情”页面,你可以使用“授权的第三方应用程序”部分查看用户的应用程序授权状态。 此部分由用户授权应用程序(授权)管理 API 支持。
对于每个授权的应用程序,控制台显示:
- 应用程序名称
- 应用程序 ID
- 访问创建时间
如果需要移除访问权限,请点击撤销操作并在模态中确认。
撤销应用程序授权将移除与该应用程序相关的所有活动第三方授权,并立即撤销该应用程序的任何预先发放的不透明访问令牌和刷新令牌。
密码合规性检查
在 Logto 中更新密码策略后,现有用户仍可以使用其当前密码登录。只有新创建的账户才需要遵循更新后的密码策略。
为了加强安全性,你可以使用 POST /api/sign-in-exp/default/check-password API 检查用户的密码是否符合默认登录体验中定义的当前策略。如果不符合,你可以使用 Account API 提示用户通过自定义流程更新其密码。
管理用户的角色
在用户详情页面的“角色”选项卡中,你可以轻松分配或移除角色以实现所需的结果。查看基于角色的访问控制 (RBAC)以获取详细信息。
查看用户所属的组织
Logto 支持组织 (Organizations)并可以管理其成员。你可以轻松查看用户详情并查看他们所属的组织。
通过 Logto Management API 管理
Management API 是一组提供对 Logto 后端服务访问的 API。如前所述,用户 API 是此服务的关键组件,可以支持广泛的场景。
与用户相关的 RESTful API 挂载在 /api/users,除了用户活动,即用户日志 /api/logs?userId=:userId。
你可以在多个用例中通过 Management API 管理用户。例如高级用户搜索、批量创建账户、仅限邀请注册等。
常见问题解答
如何限制特定用户对某些应用程序的访问?
由于 Logto 的 Omni-sign-in 特性,它并不设计用于在认证 (Authentication) 之前限制用户对某些应用程序的访问。 然而,你仍然可以设计特定于应用程序的用户角色和权限来保护你的 API 资源,并在用户成功登录后验证 API 访问权限。 有关更多信息,请参阅授权 (Authorization):基于角色的访问控制 (RBAC)。