管理用户
通过 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):查看该用户已设置的所有认证因子(如通行密钥、认证器应用、备份码)。可以在控制台移除因子。
- 通行密钥:当租户启用通行密钥登录后,你也可以在用户详情页查看和移除用户的登录通行密钥。这些通行密钥与 MFA 使用相同的 WebAuthn 凭证模型。
- 个人访问令牌:创建、查看、重命名和删除个人访问令牌。
- 连接:
- 社交连接(identities):
- 查看用户已绑定的社交账号,包括社交 ID 及从社交提供方同步的资料详情(如用户通过 Facebook 登录,则会显示“Facebook”条目)。
- 你可以移除已有的社交身份,但不能代用户绑定新的社交账号。
- 对于启用token 存储的社交连接器,可以在连接详情页查看和管理访问令牌 (access tokens) 和刷新令牌 (refresh tokens)。
- 企业单点登录 (SSO) 连接(sso_identities):
- 查看用户已绑定的企业身份,包括企业 ID 及从企业身份提供方同步的资料详情。
- 你无法在控制台添加或移除企业 SSO 身份。
- 对于基于 OIDC 的企业连接器,若启用token 存储,可在连接详情页查看和删除令牌。
- 社交连接(identities):
- 用户资料数据:姓名、头像 URL、自定义数据,以及未包含的其他 OpenID Connect 标准声明。这些资料字段均可编辑。
- 会话:查看用户的活跃会话列表,包括设备信息、sessionId 和地理位置(如适用)。可查看更多会话详情,并在会话详情页撤销该会话。
在移除社交连接前,请务必确认用户还有其他登录方式,如其他社交连接、手机号、邮箱或用户名加密码。否则用户将无法再次访问其账号。
查看用户活动
要查看用户的近期活动,请在“用户详情”页切换到“用户日志”子标签。这里有一张表格,显示用户的近期操作,包括执行的动作、结果、相关应用及操作时间。
点击表格行可查看更多日志详情,如 IP 地址、用户代理、原始数据等。
挂起用户
在“用户详情”页,点击“三点”->“挂起用户”按钮。
用户被挂起后,将无法登录你的应用,也无法在当前访问令牌过期后获取新的访问令牌。此外,该用户发起的任何 API 请求都会失败。
如需恢复该用户,只需点击“三点”->“恢复用户”按钮。
删除用户
在“用户详情”页,点击“三点”->“删除”按钮。删除用户操作不可撤销。
重置用户密码
在“用户详情”页,点击“三点”->“重置密码”按钮,Logto 会自动重新生成一个随机密码。
重置密码后,请复制并发送给终端用户。关闭“重置密码”弹窗后将无法再次查看密码。如忘记保存,可再次重置。
你无法在 Logto 控制台为用户设置特定密码,但可以使用 Management API 的 PATCH /api/users/{userId}/password 指定密码。
管理用户活跃会话
在“用户详情”页,点击某个会话的“管理”按钮进入“会话详情”页。你可以查看该会话的详细信息,如设备、位置和登录时间。如需让用户退出该会话,只需点击右上角的“撤销会话”按钮,会话将立即失效。
- 默认情况下,在控制台撤销会话也会撤销与该会话关联的所有一方应用授权,用户需重新登录以恢复访问。所有已发放给一方应用的不透明访问令牌 (opaque access tokens) 和刷新令牌 (refresh tokens) 也会立即失效。
- 对于带有
offline_access权限的三方应用,撤销会话默认不会撤销应用授权,已发放的刷新令牌可继续使用,直到授权过期。
密码合规性检查
在你更新 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)。