# Avatar is synching only on creation

**URL:** https://meta.discourse.org/t/avatar-is-synching-only-on-creation/304286
**Category:** SSO
**Tags:** openid-connect
**Created:** [November 15, 2023, 9:00am UTC](https://meta.discourse.org/t/avatar-is-synching-only-on-creation/304286 "2023-11-15T09:00:33Z")
**Posts on this page:** 6
**Page:** 1

<div class="post-metadata">

### Author: ![weber-s](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/weber-s/32/341470_2.png) [@weber-s](https://meta.discourse.org/u/weber-s)
#### Post date: [November 15, 2023, 9:00am UTC](https://meta.discourse.org/t/avatar-is-synching-only-on-creation/304286/1 "2023-11-15T09:00:33Z")

</div>

Hello there!

I’m using this plugin to sync user from a django site, but the avatar is sync only on creation. If user change it in django, it is not sync in discourse.

In fact, in Discourse `managed_authenticator.rb`, the `retrieve_avatar` return early if the user already have a custom avatar setup:

```rb
  def retrieve_avatar(user, url)
    return unless user && url
    return if user.user_avatar.try(:custom_upload_id).present?
    Jobs.enqueue(:download_avatar_from_url, url: url, user_id: user.id, override_gravatar: false)
  end

```

Did I missed something or discourse-openid-connect can not update avatar on login?

I also have question for the “website”, “location” and “bio\_raw”. [DiscourseConnect](https://meta.discourse.org/t/13045?silent=true) sync it on login, can openidconnect also do it? All are supported in the oidc claims

cheers!

---

<div class="post-metadata">

### Author: ![humpfhumpf](https://avatars.discourse-cdn.com/v4/letter/h/cc9497/32.png) [@humpfhumpf](https://meta.discourse.org/u/humpfhumpf)
#### Post date: [December 16, 2023, 10:55pm UTC](https://meta.discourse.org/t/avatar-is-synching-only-on-creation/304286/2 "2023-12-16T22:55:22Z")

</div>

Same here, with v3.1.3…

---

<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: [February 14, 2024, 4:41pm UTC](https://meta.discourse.org/t/avatar-is-synching-only-on-creation/304286/3 "2024-02-14T16:41:49Z")

</div>

Yup been battling this one myself on standardizing avatars.

I had hoped to use a custom picture claim from our IdP (Entra) to include the URL to a avatar host that doesn’t have the issue w bearer token auth for download\_avatar\_from\_url like the generic graph.microsoft one does Testing though seems like the plugin stores /userinfo and ignores the JWT picture claim so a bit of a dead end anyways.

---

<div class="post-metadata">

### Author: ![lewisakura](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/lewisakura/32/380966_2.png) [@lewisakura](https://meta.discourse.org/u/lewisakura)
#### Post date: [August 26, 2025, 6:38pm UTC](https://meta.discourse.org/t/avatar-is-synching-only-on-creation/304286/4 "2025-08-26T18:38:18Z")

</div>

I just realised I should probably post this here but I submitted a PR for this: [FEATURE: managed auth can override avatars by lewisakura · Pull Request #34123 · discourse/discourse · GitHub](https://github.com/discourse/discourse/pull/34123)

---

<div class="post-metadata">

### Author: ![pmusaraj](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pmusaraj/32/119489_2.png) [@pmusaraj](https://meta.discourse.org/u/pmusaraj)
#### Post date: [September 2, 2025, 4:50pm UTC](https://meta.discourse.org/t/avatar-is-synching-only-on-creation/304286/5 "2025-09-02T16:50:04Z")

</div>

Thanks for the contribution @lewisakura, your PR is now merged!

---

<div class="post-metadata">

### Author: ![pmusaraj](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pmusaraj/32/119489_2.png) [@pmusaraj](https://meta.discourse.org/u/pmusaraj)
#### Post date: [September 15, 2025, 12:00pm UTC](https://meta.discourse.org/t/avatar-is-synching-only-on-creation/304286/6 "2025-09-15T12:00:39Z")

</div>

This topic was automatically closed after 12 days. New replies are no longer allowed.
