---
title: 头像审核生命周期
description: 用户上传头像后会发生什么，以及应用在审核期间应该预期什么。
editUrl: true
head: []
template: doc
sidebar:
  order: 4
  hidden: false
  attrs: {}
pagefind: true
draft: false
---

上传头像属于用户生成内容。Sudomimus 会把**账户页预览**和**对外应用交付**分开处理。

用户可能会在自己的账户页面看到刚上传、等待审核的图片。但在审核通过之前，应用仍然会收到当前已批准头像，或者生成头像作为兜底。

## 状态

| 状态 | 用户看到什么 | 应用收到什么 |
|---|---|---|
| `PENDING` | 账户页可以显示上传预览，并提示正在审核。 | 上一张已批准头像，或生成头像。 |
| `APPROVED` | 这次上传成为账户头像。 | 之后签发的 token 和 `/userinfo`，在声明策略和用户授权允许时，可以带上这张头像。 |
| `REJECTED` | UI 应提示上传被拒绝，或回到兜底/当前头像。 | 不变。应用继续收到上一张已批准头像或生成头像。 |

## Token 中的头像

应用不会直接读取账户头像的审核状态。它们只会通过声明系统看到头像：

- Session 与 OIDC `/userinfo` 可以包含 `picture` 和 `picture_animated`。
- 只有应用的声明策略和用户授权都允许时，头像字段才会出现。

头像审核通过后，应用会在下一次包含头像声明的 token 或 `/userinfo` 响应中看到新头像。请把这些 URL 当成可更新的展示资料，不要当成永久标识符。

## UI 建议

- 只在账户管理界面展示待审核上传，不要把它表现成已经发布给应用。
- 上传被拒绝时，要能回到生成头像或上一张可用头像。
- 审核通过前，不要告诉用户“应用已经能看到这张头像”。
- 如果你的产品适合动效，可以使用动态 URL；否则使用静态 URL。

## 相关阅读

- [头像上传](/zh-cn/user-generated-content/avatar-uploads/) —— 上传限制和 upload intent 流程。
- [头像声明与交付](/zh-cn/user-generated-content/avatar-claims-and-delivery/) —— 应用如何收到头像 URL。