什么是用户资料¶
用户资料包含终端用户的姓名、邮箱、地址及其唯一标识符等信息。您可以通过管理台和 Admin API 管理这些资料。终端用户也可以通过 AuthUI 提供的用户设置页面中的资料部分管理自己的资料。
用户资料中的完整信息由标准属性和自定义属性组成。属性是对用户资料信息字段进行分组的方式。标准属性包含用户资料中常见的字段,这些字段的名称由 Authany 设定;而自定义字段则由您根据项目的具体需求来设置。
标准属性¶
Authany 内置支持以下属性。它们是OIDC 规范中定义的标准声明(Standard Claims)的集合。其中一部分默认对管理台和终端用户隐藏,其可见性和是否可修改可以通过管理台进行配置。
| 属性名称 | 默认可见性 | 格式 |
|---|---|---|
| 姓名(Name) | 隐藏 | 字符串 |
| 名字(Given Name) | 可编辑 | 字符串 |
| 姓氏(Family Name) | 可编辑 | 字符串 |
| 中间名(Middle Name) | 隐藏 | 字符串 |
| 昵称(Nickname) | 隐藏 | 字符串 |
| 个人主页(Profile) | 隐藏 | URL 字符串 |
| 头像(Picture) | 可编辑 | URL 字符串 |
| 网站(Website) | 隐藏 | URL 字符串 |
| 性别(Gender) | 可编辑 | male、female 或自定义字符串 |
| 出生日期(Birthdate) | 可编辑 | YYYY-MM-DD 格式的日期 |
| 时区(Timezone) | 可编辑 | tz 数据库时区名称 |
| 语言(Language) | 可编辑 | 项目启用的 BCP47 语言标签 |
| 地址(Address) | 隐藏 | JSON 对象 |
与身份关联的标准属性¶
以下属性与终端用户拥有的身份相关联。它们代表终端用户在 Authany 上用于身份验证的邮箱地址、手机号码或用户名。如果终端用户使用第三方身份提供方进行身份验证,这些属性将与该提供方返回的对应属性关联。
与身份关联的标准属性如下:
emailemail_verifiedphone_numberphone_number_verifiedpreferred_username
当用户在注册时指定了这些属性、验证了邮箱地址或手机号码,或者在 Authany 管理台中依次进入 用户管理 > 用户 > 选择某个用户 > 身份,或通过 Admin API 进行操作时,上述属性就会与身份关联。
项目启用的登录方式会影响可使用的身份种类。
自定义属性¶
您可以在用户资料中定义一组自定义属性。它们会作为 JSON 对象返回,位于 userInfo 中的 custom_attributes 键下。
添加新的自定义属性¶
依次进入 管理台 > 用户资料 > 自定义属性,然后点击 添加新属性
自定义属性名称只能由小写字母(a-z)、数字(0-9)和下划线(_)组成。名称必须以小写字母(a-z)开头,且不能以下划线(_)结尾。默认显示名称是将属性名称按下划线拆分后转换为标题大小写形式,例如 my_string 会在 AuthUI 设置页面中显示为 My String。
Authany 支持以下属性类型:
- 字符串(String)
- 数字(Number)
- 整数(Integer)
- 下拉列表(Dropdown)
- 电话号码(Phone Number)
- 邮箱地址(Email Address)
- URL
- 国家/地区代码(Country Code)
修改自定义属性¶
您可以更改自定义属性的名称以及验证设置,例如最小值和最大值。属性类型一旦设置就无法更改。如需将属性迁移为新类型,请创建一个新属性,将旧属性的值迁移到新属性,然后更改旧属性的名称和访问权限,使其失效。
删除自定义属性¶
不支持删除自定义属性。您可以更改属性的名称和访问权限,使其失效。
自定义属性顺序¶
您可以在管理台的自定义属性配置中通过拖放手柄来调整属性顺序。这将控制这些属性在 AuthUI 用户设置页面中向终端用户展示的顺序。
用户资料配置¶
不同角色对各个属性的访问权限可以通过 Authany 管理台进行配置。实际上,所有属性都是可用的,但可以将其配置为 hidden(隐藏)或 read-only(只读)以满足项目需要,避免混淆。
以下是可以访问用户资料的各方:
Admin API¶
通过 Admin API,开发者始终对所有标准属性和自定义属性拥有完全访问权限。Admin API 允许开发者查看或编辑标准属性和自定义属性。
管理台¶
管理员用户可以通过 Authany 管理台查看或编辑标准属性。
会话持有者¶
会话持有者是指持有有效会话 Cookie 或有效访问令牌的一方。可以通过访问 UserInfo 端点 和解析器端点查看该会话所代表终端用户的标准属性。会话持有者可以是终端用户、客户端移动应用或客户端网站。
终端用户¶
终端用户可以通过 AuthUI 提供的用户设置页面中的资料部分查看或编辑标准属性。
来自第三方身份提供方的资料¶
Authany 支持多种社交和企业身份提供方。终端用户可以通过这些连接注册并登录您的应用。注册后,这些提供方会返回一组关于终端用户的用户属性。Authany 会复制这些属性并填充到终端用户的资料中。
关于属性填充逻辑的更多信息,请参见相关规范。