管理用户账号
此章节主要介绍管理单个用户的操作,如绑定邮箱、关联账号、禁用账号等,如果你想了解如何管理用户目录,请见管理用户目录。
用户账号管理可以通过控制台、用户个人中心可视化管理,也可以借助 SDK & API,你可以根据自己的业务需求选择适合自己的方式。
用户账号管理分为管理员操作和用户自助操作两种方式,用户自助操作需要通过手机号验证码、MFA 等方式验证用户身份,管理员操作只需要提供 Management Token 即可(如果使用 SDK 的话,只需提供用户池密钥)。
以下内容不分先后顺序,你可以选择自己感兴趣的内容进行阅读:
- 了解用户资料所有字段的释义;
- 了解管理员如何创建账号;
- 了解如何管理用户账号,如修改用户资料、绑定 MFA 等;
用户字段释义
GenAuth 用户的所有字段及其释义如下:
id: 用户 ID,示例为5f927f5daa7ba859b6b5c21f,是 GenAuth 自动生成的唯一 ID。arn: ARNstatus: 用户状态token: 用户的身份凭证,值为一个 OIDC IdToken。通过此字段可以验证用户身份以及判断用户登录态,详情请见 验证 Token。userPoolId: 用户池 ID,示例为5f927f5daa7ba859b6b5c21f,是 GenAuth 自动生成的唯一 ID。username: 用户名,用户池内唯一,区分大小写。email: 邮箱,用户池内唯一,不区分大小写,如Bob@example.com和bob@example.com会识别为同一个邮箱。emailVerified: 邮箱是否已验证,GenAuth 默认不会阻止邮箱未验证的用户登录,如果你希望强制要求用户邮箱验证之后才能登录,请见此。phone: 手机号,用户池内唯一。phoneVerified: 手机号是否已验证,使用手机号验证码注册、登录的用户该字段为true,管理员手动创建的用户此字段为false。unionid: 使用第三方身份源或社会化登录的用户,该字段为用户在第三方的 ID。openid: 第三方身份源用户,返回的 openid。nickname: 用户昵称,该字段不具备唯一性。photo: 用户头像。oauth: 通过社会化登录方式注册的用户,该字段保存了第三方社会化登录服务商返回的原始用户信息。如 github 注册的用户,此字段通过 JSON 解析之后,是小程序返回的原始用户信息。tokenExpiredAt: token 过期时间, 为符合 ISO8601 格式的时间字符串。(如 "2017-06-07T14:34:08.700Z", "2017-06-07T14:34:08.700 or "2017-06-07T14:34:08+04:00")。loginsCount: 累计登录次数。lastLogin: 上次登录时间,为符合 ISO8601 格式的时间字符串。(如 "2017-06-07T14:34:08.700Z", "2017-06-07T14:34:08.700 or "2017-06-07T14:34:08+04:00")。signedUp: 注册时间,为符合 ISO8601 格式的时间字符串。(如 "2017-06-07T14:34:08.700Z", "2017-06-07T14:34:08.700 or "2017-06-07T14:34:08+04:00")。blocked: 用户账号是否被锁定,被锁定的账号无法进行登录。lastIP: 用户上次登录时的客户端 IP。device: 上次登录时使用的设备。browser: 上次登录时使用的浏览器。company: 公司。name: OIDC 标准字段。givenName: OIDC 标准字段。familyName: OIDC 标准字段。middleName: OIDC 标准字段。preferredUsername: OIDC 标准字段。profile: 用户的 Profile Url,使用 GitHub 登录的用户,该字段为其 GitHub 个人主页链接。website: 个人网站gender: 性别, M(Man) 表示男性、F(Female) 表示女性、 U(Unknown)表示未知。birthdate: 生日zoneinfo: 时区locale: 语言address: 地址streetAddress: 街道地址locality: Localityregion: 地域postalCode: 邮编city: 城市province: 省份country: 国家
以下是 JSON 格式的示例用户信息:
{
"id": "5f8d4c6ee7cbcaf59486c93d",
"arn": "arn:cn:authing:59f86b4832eb28071bdd9214:user:5f8d4c6ee7cbcaf59486c93d",
"userPoolId": "59f86b4832eb28071bdd9214",
"username": "USERNAME",
"email": null,
"emailVerified": false,
"phone": null,
"phoneVerified": false,
"unionid": "UNIONID",
"openid": "OPENID",
"nickname": null,
"photo": "https://files.authing.co/user-contents/59f86b4832eb28071bdd9214/avatar/5c7cd4a4-4ea4-443c-9656-705f0b247a29.jpg",
"oauth": "OAUTH",
"token": "TOKEN",
"tokenExpiredAt": "2020-10-19T16:21:02+08:00",
"loginsCount": 1,
"lastLogin": "2020-10-19T16:21:02+08:00",
"lastIP": null,
"signedUp": "2020-10-19T16:21:02+08:00",
"blocked": false,
"isDeleted": false,
"device": null,
"browser": null,
"company": null,
"name": null,
"givenName": null,
"familyName": null,
"middleName": null,
"profile": "https://github.com/shat810",
"preferredUsername": null,
"website": null,
"gender": "U",
"birthdate": null,
"zoneinfo": null,
"locale": null,
"address": null,
"formatted": null,
"streetAddress": null,
"locality": null,
"region": null,
"postalCode": null,
"country": null,
"createdAt": "2020-10-19T16:21:02+08:00",
"updatedAt": "2020-10-19T16:21:04+08:00"
}管理员创建账号
管理员创建账号与用户自己注册账号的异同:
- 管理员创建账号不受「禁止注册」配置限制;
- 管理员创建账号不受「注册白名单」限制;
- 管理员创建手机号账号不需要验证码,而用户自己注册需要;
- 管理员创建的手机号账号
phoneVerified字段为false,用户自己注册的为true; - 管理员创建账号和用户自己注册都不能创建重复的邮箱、手机号、username。
使用控制台创建用户
你可以在控制台的 用户管理 - 用户列表 手动创建账号:
可以通过邮箱和手机号创建账号。

使用 SDK 创建用户
create-userCode snippet: create-user
管理用户账号
管理用户账号包括忘记密码、验证邮箱、修改绑定手机号邮箱、多因素认证,以及禁用用户账号、绑定社会化登录、账号合并等完整流程。如果你使用 GenAuth 的话,恭喜你,这些功能 GenAuth 全部内置了,你只需要花极少的时候就能快速完成。
使用托管登录页和个人中心
GenAuth 为开发者提供了一个内置的一应俱全、美观、高度配置化的登录表单,你可以在此体验 (以下我们简称此登录表单为 Guard),地址为 https://<YOUR_DOMAIN>.authing.cn/:

可以进行登录注册、忘记密码、重置邮箱、发送短信验证码、扫码登录等功能。
以及一个用户个人中心,你可以在此体验,地址为 https://<YOUR_DOMAIN>.authing.cn/u:

借助托管登录页和个人中心,用户可以完成自助的个人资料管理。
修改账号资料
GenAuth 提供了一个内置的用户个人中心页(地址为 https://<YOUR_DOMAIN>.authing.cn/u),可以完成用户基本信息的修改:

修改密码
当用户记得当前密码时,可以通过检验当前密码修改密码:

忘记密码
当用户忘记当前密码时,可以通过以下流程重置密码:
点击忘记密码

可以选择使用邮箱或者手机号进行验证:

绑定邮箱和手机号
终端用户可以在个人中心的 账号绑定 Tab 中绑定和解绑邮箱或手机号:

绑定 MFA
终端用户可以在个人中心的 MFA 绑定 Tab 中绑定 MFA:

使用控制台
管理员可以借助控制台可视化地管理用户账号。
编辑用户资料

禁用账号
管理员可以在用户详情页禁用账号,被禁用的账号将无法再次登录:

查看原始用户信息

使用 SDK/API
GenAuth 提供了 Authentication SDK/API 和 Management SDK/API,你可以使用 Authentication API 和完成用户自助的个人账号信息管理,使用 Management SDK/API 以管理员的身份管理用户资料,以管理员身份进行的操作不需要进行手机号验证码、邮箱验证码、MFA 等验证手段。
GenAuth 同时支持了 Java、JavaScript/Node.js、Python、PHP、C#、Swift、Go、Ruby、微信小程序等多种语言的 SDK,你可以选择自己熟悉的 SDK:
绑定账号
你可能会遇到这样的场景:你的用户使用手机号注册了一个账户,又使用微信注册了一个账户。现在想将微信账户绑定到手机号账户下面,以后用户再使用微信登录时就登入到手机号账户下,返回手机号账户的信息。
你可以通过调用以下接口来实现将用户的的社交账号绑定到他的主账号(手机、邮箱账号)上:
https://core.authing.cn/api/v2/users/link将社交账号绑定到主账号
如果希望绑定一个社交账号到一个主账号,那么终端用户必须提供社交账号的凭证和主账号的凭证,这样才能证明他是这两个账号的主人,然后进行绑定。
Headers
| Name | Type | Description |
|---|---|---|
Content-TypeREQUIRED | string | application/x-www-form-urlencoded |
Form Data Parameters
| Name | Type | Description |
|---|---|---|
primaryUserTokenREQUIRED | string | 主账号 Token |
secondaryUserTokenREQUIRED | string | 社交账号 Token |
Response
{
"code": 200,
"message": "绑定成功"
}WARNING
当完成社交账号绑定后,原来社交账号对应的数据会被删除,无法再次登录到原来的社交账号。
管理用户的自定义数据
路径:设置->字段管理->用户字段管理->用户扩展字段
用户自定义字段是除了 基础用户字段 之外,可以给用户对象添加的额外字段。开发者可以通过设置自定义字段,存储少量业务相关的数据。
配置自定义用户字段
可以定义以下几种类型的自定义字段:
- 字符串;
- 数值;
- 日期;
- 布尔值;
- 枚举值;
创建自定义拓展字段
你可以在 添加用户扩展字段 窗口配置自定义用户字段:

在给新创建的自定义字段命名时,你可以编辑该字段在多种语言环境下的显示名称:
- 直接在「显示名称」下的输入框中编辑,得到默认展示的字段名称
- 勾选「中文」,并编辑中文环境下的字段显示名称
- 勾选「English」,并编辑英文环境下的字段显示名称
- 勾选「繁體」,并编辑繁体中文环境下的字段显示名称
- 勾选「日本語」,并编辑日语环境下的字段显示名称
特别的,如果该字段的显示环境未包含在上述四种语言环境的范围内,将会采用你配置的「默认展示的字段名称」进行显示。

配置自定义字段之后,你可以开启应用的注册信息补全页面,让用户补全这些自定义字段的信息。
a. 在 应用->自建应用->应用详情页->高级配置 标签页开启 自定义本应用的登录框 开关。

b. 然后切换到 品牌化,在 登录注册信息补全 模块勾选 注册时信息补全 开关。

c. 添加自定义字段:

d. 点击 保存。
访问应用的登录页面。用户点击注册之后将跳转到下面这个注册信息补全页面:

用户成功注册之后,你可以在用户详情页面看到用户刚刚输入的自定义字段值:

使用 API & SDK 管理用户自定义数据
GenAuth 同时支持了 Java、JavaScript/Node.js、Python、PHP、C#、Swift、Go、Ruby、微信小程序等多种语言的 SDK,你可以选择自己熟悉的 SDK:
udfCode snippet: udf
查看用户的登录历史记录
你可以在 用户详情 页面查看该用户的历史访问记录:

可以查看登录时间、登录应用、IP 地址、登录是否成功、浏览器、地理位置等信息。
查看用户的地理位置
你可以在 用户详情 页面查看该用户最近一次登录的地理位置:

增强账号安全性
用户账号的安全性至关重要,你可以通过以下方式增强用户账号的安全性。
配置更强的密码强度
你可以在 安全设置->密码安全 页面中配置密码强度,设置密码强度后系统会要求所有用户注册、修改密码时,密码必须满足一定的复杂度。

安全性高的密码可以使账户更安全。并且建议用户定期更换密码。
绑定手机号
绑定手机号之后可以使用手机号验证码登录,无需再输入密码,更加安全方便。终端用户可以在应用个人中心(地址为 https://<YOUR_APP_DOMAIN>.authing.cn/u)绑定手机号,你也可以使用 SDK 来操作。

绑定个人 MFA
绑定个人 MFA 后,用户在登录时需要进行二次验证,更有效的保障用户的账户安全。终端用户可以在应用个人中心(地址为 https://<YOUR_APP_DOMAIN>.authing.cn/u)绑定 MFA,你也可以使用 SDK 来操作。

管理用户的登录态
查看当前登录用户
路径:应用->自建应用->应用详情页
你可以在应用详情页点击页面右上角 数据概览 按钮查看该应用当前登录的所有用户,以及其最后一次登录时间等信息。

强制下线
路径:用户管理->用户列表->用户详情页->用户信息
你也可以在 用户信息 标签页点击右上角 更多 按钮下 强制下线,并进行下线确认。
此操作会强制该用户退出本用户池下所有的应用。

控制用户能访问哪些应用
路径:用户管理->用户列表->用户详情页->应用授权
你可以在用户详情页的 应用授权 标签页查看该用户当前能够访问的所有应用:

可以通过应用访问权限开关控制当前用户是否能够访问某个应用。
用户组管理
路径:用户管理->用户组管理
进行一组用户的增删改查、分配授权等操作。
创建分组
导航栏中找到用户管理点击对应菜单进入到用户分组页面

填写分组信息

分组列表

分组详情
- 点击添加成员。

- 从弹窗组件中选择成员或搜索成员。

- 点击确认后添加成功。


分配权限
要对用户分组分配权限,执行以下步骤:

点击添加授权规则。
在授权组件中选择 权限分组,指定 权限作用 和 资源。
指定操作。
添加限制条件。
INFO
要对当前用户分组添加多个授权规则(指定其他 权限分组 / 授权作用 / 资源 / 操作 / 限制条件),可点击弹窗下方 添加授权规则。

- 点击 确定。授权成功。

INFO
点击 + 可展开当前授权规则,展示规则详情。

要取消授权,点击当前授权规则行 操作 列 取消授权 按钮:

公共账号
基于 GenAuth 既有的个人用户账号体系,GenAuth 推出了公共账号功能。 该功能主要帮助企业在复杂的业务及系统体系下,通过将公共账号关联到个人用户、部门、岗位、用户组及角色下,实现个人账号授权登录后,可以访问多个公共账号资源的能力。
管理员侧操作
创建公共账号
- 你可以通过点击「成员管理」-「创建成员」,调起创建弹窗,开启「是否为公共账号」功能,点击确定,进入该公共账号详情页面:



- 你也可以通过点击「公共账号管理」-「创建公共账号」,调起创建弹窗,完成相应的创建并进入到公共账号详情页面:



禁用/启用/删除/强制下线公共账号
- 你可以在公共账号的用户详情页面,点击「更多」,调起公共账号的操作 Button, 进行相应的操作:

- 你也可以在公共账号列表,点击「...」,对公共账号进行禁用/启用及删除的操作:

将个人账号转变为公共账号
目前控制台支持将个人账号转变为公共账号,点击「成员管理」-「成员详情页面」-「更多」-「公共账号」,调起切换公共账号的弹窗,点击「确定」即可完成公共账号的变更:



将公共账号与个人账号进行关联
- 将某个「个人用户」添加到「所属用户」列表,默认该用户拥有该公共账号的访问权限:


- 将某个「部门」添加到「所属部门」列表,默认该部门下的所有个人用户拥有该公共账号的访问权限:


- 将某个「用户组」添加到「所属用户组」列表,默认该用户组下的所有个人用户拥有该公共账号的访问权限:

- 将某个「岗位」添加到「所属岗位」列表,默认该岗位下的所有个人用户拥有该公共账号的访问权限:


- 将某个「角色」添加到「所属角色」列表,默认该角色下的所有个人用户拥有该公共账号的访问权限:


查看公共账号的审计日志
进入公共账号详情页面,点击「访问记录」,即可查看所有使用该公共账号的个人账号信息及登录的其他信息,用于记录该公共账号的活跃情况:

开启/关闭登录框公共账号选择
在「全局登录框」-「功能配置」Tab ,开启支持选择公共账号进行登录后,用户即可在登录框、个人中心、单点登录面板进行账号的选择及切换;

用户侧操作
自建应用/单点登录面板登录框选择登录账号
当管理员开启了登录框允许选择账号登录后,当用户下面有关联公共账号的情况,在个人账号认证通过后,即会来到选择账号登录界面:

自建应用个人中心/单点登录面板切换登录账号
当用户成功登录了某个应用或者单点登录面板,点击「头像」- 「切换公共账号」,选择要登录的账号即可完成相应的切换操作:


关于 OPEN API 地址
管理员可通过访问以下 API 文档地址,进行接口侧的相关操作: 管理公共账号
邀请管理
INFO
- GenAuth 提供的邀请用户功能支持多种场景,既能满足国内外多数 SaaS 场景下的通用邀请能力:
- 线下分发邀请链接/二维码,用户自助申请加入;
- 亦能满足 to B / to E 场景下更具备定制化的需求。例如:分批次发送邀请邮件给受邀人,且受邀人加入后,管理员无需再次手动配置权限/部门等:
- 可使用「名单」分批次、批量发送邀请邮件,管理员可以通过「策略」自定义不同批次受邀人的邀请注册流程、加入后默认所属部门/角色/用户组等;
- 未来迭代版本将支持区分租户来管理邀请名单的能力,满足更多 to B 特殊场景;
概述
- 本次更新将支持管理员通过多种方式邀请新用户:
- 通用邀请:当管理员未知新用户的联系方式(邮箱)时,可以在「通用邀请」页面生成并复制邀请链接,发送给新用户,详情见下文。且用户池中的普通用户也可以生成并复制邀请链接,邀请新用户;
- 策略邀请:当管理员拥有新用户的联系方式(邮箱)时,可使用「策略邀请」功能,将批量导入新用户邮箱、关联自定义的邀请策略后,对名单中的的受邀人批量发送邀请邮件,详情见下文;
- 支持在「快捷查询」页面,通过受邀人名称快速查询状态、定位所属名单等; 基于 GenAuth 既有的个人用户账号体系,GenAuth 推出了公共账号功能。 该功能主要帮助企业在复杂的业务及系统体系下,通过将公共账号关联到个人用户、部门、岗位、用户组及角色下,实现个人账号授权登录后,可以访问多个公共账号资源的能力。
功能详情
通用邀请
1. 设置通用邀请链接

- 支持设置邀请链接有效期;
- 支持设置新用户加入用户池后所属部门;
- 支持开启管理员审批功能,开启后,新用户提交加入申请后需要管理员在「申请列表」中同意后方可成功加入。若关闭,则视为系统同意申请,可直接加入;
- 点击「生成邀请链接」,将根据上方的设置生成链接和二维码:

- 「全部重置」后,当前管理员生成的邀请链接将全部失效:

2. 设置普通用户邀请链接

- 开启后,即可在业务系统页面添加按钮等交互模式,供用户生成邀请链接使用;
3. 邀请页面


- 点击通用邀请链接,将跳转上方页面,需要填写姓名和邮箱申请加入;
- 「申请加入」提交后,通过审批后将收到欢迎邮件,包含:登录地址、登录账号、初始密码等信息;
4. 申请列表

- 管理员可前往「邀请管理-通用邀请-申请列表」审批新成员的加入申请;
- 列表可查看申请人的名称、邮箱和邀请人、审批人、审批结果等;
策略邀请
1. 名单管理

- 在名单管理页面,支持创建名单;

- 名单的受邀人列表中,支持手动添加/文件导入受邀人及邮箱;
- 关联策略后即可批量发起邀请,详情见下文;
2. 策略管理

- 策略管理列表,支持管理员创建、编辑、删除策略;
- 支持创建副本,方便进行策略版本管理等;
- 策略配置详情:

(邀请配置)

(流程配置)

(用户归属配置)
- 策略配置完成后,可以与名单关联,支持查看关联名单列表、解除关联等;
3. 关联名单与策略
- 在「名单-关联策略」页面操作:

- 在「策略-关联名单」页面操作:

4. 发起邀请
- 在名单详情页,可对当前整个名单内的受邀人发起邀请,受邀人将收到邀请邮件;

5. 邀请页面

(身份验证)

补全信息(需要补全的信息由管理员定义)

(成功加入)
6. 快捷查询
- 支持通过受邀人名称、邮箱等,快速查询并定位受邀人所在名单、状态等;
