# 处理 Avatar 加载问题

**URL:** https://meta.discourse.org/t/handling-avatar-load-issues/362323
**Category:** Support
**Created:** [2025年四月17日 12:43 UTC](https://meta.discourse.org/t/handling-avatar-load-issues/362323 "2025-04-17T12:43:48Z")
**Posts on this page:** 1
**Page:** 1

<div class="post-metadata">

### Author: ![jrack](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jrack/32/326934_2.png) [@jrack](https://meta.discourse.org/u/jrack)
#### Post date: [2025年四月17日 12:43 UTC](https://meta.discourse.org/t/handling-avatar-load-issues/362323/1 "2025-04-17T12:43:48Z")

</div>

我们使用 oidc 插件，但 avatar\_url 需要身份验证，而插件提供的当前 [头像下载支持](https://github.com/discourse/discourse/blob/main/app/models/user_avatar.rb#L115) 无法使用缓存的 access\_token 进行获取。在我看来，添加此功能相当复杂，所以我不太确定我是否能接受一个 PR。

我们之前使用过系统头像，但它要求用户设置用户名（并且不更改它），以便抓取图像。如果用户名不匹配，我们的 UI 中会出现损坏的图像。

Gravatar 对我们来说不是一个选项，手动上传可以在用户进行操作时生效，但他们通常不会这样做。

看起来如果使用系统头像，letter\_proxy 会被完全绕过。并且根据 DOM 中的 URL，图像是在客户端加载的，所以应用程序不知道该资源不存在。

我曾考虑过将默认头像 URL 指向 letter\_proxy，但它不支持令牌，所以最多我只能将其指向一个通用的头像，然后用户可以更改为手动上传或系统头像（如果他们的用户名能正确加载）。

我想通过条件来处理其中一些情况，但我似乎找不到一个好的设置组合来使其更具弹性。
