> For the complete documentation index, see [llms.txt](https://authing.gitbook.io/authing/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://authing.gitbook.io/authing/extensibility/pipeline/user-object.md).

# user 对象

{% hint style="warning" %}
Pre-Register（注册前） Pipeline 中没有 user  对象。
{% endhint %}

## 属性 <a href="#variables" id="variables"></a>

| 属性名            | 值类型     | 说明                                                             |
| -------------- | ------- | -------------------------------------------------------------- |
| \_id           | string  | 用户 ID                                                          |
| username       | string  | 用户名                                                            |
| email          | string  | 邮箱                                                             |
| emailVerified  | boolean | 邮箱是否已验证                                                        |
| phone          | string  | 手机号                                                            |
| phoneVerified  | boolean | 手机号是否已验证                                                       |
| photo          | string  | 头像链接                                                           |
| nickname       | string  | 昵称                                                             |
| gender         | string  | 性别                                                             |
| signedUp       | string  | <p>注册时间，格式为 </p><p><code>2020-02-07T04:29:40.877Z</code></p>   |
| lastLogin      | string  | <p>上次登录时间，格式为 </p><p><code>2020-02-07T04:29:40.877Z</code></p> |
| oauth          | string  | 社会化登录信息                                                        |
| registerMethod | string  | 注册方式                                                           |
| blocked        | boolean | 是否被 block                                                      |
| company        | string  | 公司名                                                            |
| browser        | string  | 访问浏览器                                                          |
| device         | string  | 访问设备                                                           |
| country        | string  | 国家                                                             |
| region         | string  | 地区                                                             |
| address        | string  | 地址                                                             |

## 方法 <a href="#methods" id="methods"></a>

| 方法名                   | 说明                                                                                                                                                                                                                                                                                                                                                                                                                         | 示例代码                                       |
| --------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------ |
| addMetaData           | 添加自定义 metadata 到 user 对象。不会持久性保存至数据库，**只对当前请求有效**。开发者可用于添加一次性的数据。有关如何获取、管理用户 metadata，请见 [管理用户 MetaData](/authing/extensibility/user-metadata.md)。                                                                                                                                                                                                                                                                         | user.addMetaData("KEY", "VALUE")           |
| addMetaDataAndPersist | 添加自定义 metadata 到 user 对象，**同时持久化保存至数据库**。VALUE 长度不能超过 1000 字符，否则会被丢弃。有关如何获取、管理用户 metadata，请见 [管理用户 MetaData](/authing/extensibility/user-metadata.md)。                                                                                                                                                                                                                                                                     | user.addMetaDataAndPersist("KEY", "VALUE") |
| setTokenField         | <p>往用户的 token 中加入自定义字段。VALUE 长度不能超过 100 字符，否则会导致  token 过长。了解如何检验、解密 token，请见<a href="/pages/-LfcS9brRKmY3UeMUHjE">验证 Token</a>。<strong>由于 graphql 限制，如果你的 token 中加入了自定义字段，请务必使用</strong> <a href="https://users.authing.cn/authing/token"><strong><https://users.authing.cn/authing/token></strong></a> <strong>接口，否则无法获取到自定义字段。</strong></p><p></p><p><strong>此接口仅在 POST\_AUTHENTICATION（登录后） Pipeline 中可用。</strong></p> | user.setTokenField('KEY', 'VALUE')         |
| removeTokenField      | 删除用户 token 中的字段。**请勿删除 id 和 clientId 字段，否则 token 将无法被成功验证！**                                                                                                                                                                                                                                                                                                                                                               | user.removeTokenField('KEY')               |
| setIdTokenField       | <p>设置 idToken 自定义字段，也可以用于替换原油 idToken 内容。</p><p><strong>此接口仅在 Pre-OIDCTokenIssued Pipeline 中可用</strong>。</p>                                                                                                                                                                                                                                                                                                               | user.setIdTokenField("KEY","VALUE")        |
