跳转至

什么是用户资料

用户资料包含终端用户的姓名、邮箱、地址及其唯一标识符等信息。您可以通过管理台和 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 上用于身份验证的邮箱地址、手机号码或用户名。如果终端用户使用第三方身份提供方进行身份验证,这些属性将与该提供方返回的对应属性关联。

与身份关联的标准属性如下:

  • email
  • email_verified
  • phone_number
  • phone_number_verified
  • preferred_username

当用户在注册时指定了这些属性、验证了邮箱地址或手机号码,或者在 Authany 管理台中依次进入 用户管理 > 用户 > 选择某个用户 > 身份,或通过 Admin API 进行操作时,上述属性就会与身份关联。

项目启用的登录方式会影响可使用的身份种类。

自定义属性

您可以在用户资料中定义一组自定义属性。它们会作为 JSON 对象返回,位于 userInfo 中的 custom_attributes 键下。

{
    ...,
    "custom_attributes": {
        "department": "example department"
    }
}

添加新的自定义属性

依次进入 管理台 > 用户资料 > 自定义属性,然后点击 添加新属性

自定义属性名称只能由小写字母(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 会复制这些属性并填充到终端用户的资料中。

关于属性填充逻辑的更多信息,请参见相关规范。