# SSO avatars not being overridden

**URL:** https://meta.discourse.org/t/sso-avatars-not-being-overridden/54607
**Category:** SSO
**Created:** [2016 年 12 月 21 日午後 5:40 UTC](https://meta.discourse.org/t/sso-avatars-not-being-overridden/54607 "2016-12-21T17:40:14Z")
**Posts on this page:** 17
**Page:** 1

<div class="post-metadata">

### Author: ![windy](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/windy/32/121414_2.png) [@windy](https://meta.discourse.org/u/windy)
#### Post date: [2016 年 12 月 21 日午後 5:40 UTC](https://meta.discourse.org/t/sso-avatars-not-being-overridden/54607/1 "2016-12-21T17:40:14Z")

</div>

I know there are a few other posts about this, but none of them were able to solve my problem. Everything else in our SSO implementation works fine; this is the only thing that’s not working as expected. I’ve tried setting `avatar_force_update` to both `true` and `1` to no avail.

Code snippet w/ verbose log output: [SSO.scala · GitHub](https://gist.github.com/windy1/86ee6965fbcd00036fbeae56cfa659b7)

Any insight is much appreciated, thanks.

---

<div class="post-metadata">

### Author: ![alehandrof](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/alehandrof/32/119526_2.png) [@alehandrof](https://meta.discourse.org/u/alehandrof)
#### Post date: [2016 年 12 月 21 日午後 6:23 UTC](https://meta.discourse.org/t/sso-avatars-not-being-overridden/54607/2 "2016-12-21T18:23:57Z")

</div>

If you’re in development, maybe it’s this:

> [@Can't get avatar overrides to work over SSO](https://meta.discourse.org/t/cant-get-avatar-overrides-to-work-over-sso/47705/3):
>
> I can’t, for the life of me, understand why, but non-local avatar URLs work fine. I wish trying this out had occurred to me, oh, about five days ago smiley Edit: maybe related to this → [https://meta.discourse.org/t/having-issues-downloading-avatars-from-localhost/45311](https://meta.discourse.org/t/having-issues-downloading-avatars-from-localhost/45311)

Edit: nevermind, you’re using non-local URLs.

---

<div class="post-metadata">

### Author: ![windy](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/windy/32/121414_2.png) [@windy](https://meta.discourse.org/u/windy)
#### Post date: [2016 年 12 月 23 日午後 4:14 UTC](https://meta.discourse.org/t/sso-avatars-not-being-overridden/54607/3 "2016-12-23T16:14:11Z")

</div>

Bump (sorry)…

---

<div class="post-metadata">

### Author: ![Falco](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/falco/32/179432_2.png) [@Falco](https://meta.discourse.org/u/Falco)
#### Post date: [2016 年 12 月 23 日午後 4:39 UTC](https://meta.discourse.org/t/sso-avatars-not-being-overridden/54607/4 "2016-12-23T16:39:29Z")

</div>

DId you enable `sso overrides avatar` ?

---

<div class="post-metadata">

### Author: ![windy](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/windy/32/121414_2.png) [@windy](https://meta.discourse.org/u/windy)
#### Post date: [2016 年 12 月 23 日午後 4:51 UTC](https://meta.discourse.org/t/sso-avatars-not-being-overridden/54607/5 "2016-12-23T16:51:40Z")

</div>

Yes I did. Sorry should have mentioned that.

---

<div class="post-metadata">

### Author: ![windy](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/windy/32/121414_2.png) [@windy](https://meta.discourse.org/u/windy)
#### Post date: [2016 年 12 月 27 日午後 10:16 UTC](https://meta.discourse.org/t/sso-avatars-not-being-overridden/54607/6 "2016-12-27T22:16:27Z")

</div>

@Falco Any other possible fixes you can think of? Kind of important I work this out.

---

<div class="post-metadata">

### Author: ![Falco](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/falco/32/179432_2.png) [@Falco](https://meta.discourse.org/u/Falco)
#### Post date: [2016 年 12 月 27 日午後 10:47 UTC](https://meta.discourse.org/t/sso-avatars-not-being-overridden/54607/7 "2016-12-27T22:47:18Z")

</div>

In your gist `avatar_force_update` isn’t set, did you manage to make it true in verbose logging?

---

<div class="post-metadata">

### Author: ![windy](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/windy/32/121414_2.png) [@windy](https://meta.discourse.org/u/windy)
#### Post date: [2016 年 12 月 27 日午後 11:49 UTC](https://meta.discourse.org/t/sso-avatars-not-being-overridden/54607/8 "2016-12-27T23:49:52Z")

</div>

Yes sorry, I tried both with and without, I had another instance where it was set to true and still no update.

---

<div class="post-metadata">

### Author: ![Falco](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/falco/32/179432_2.png) [@Falco](https://meta.discourse.org/u/Falco)
#### Post date: [2016 年 12 月 28 日午前 12:00 UTC](https://meta.discourse.org/t/sso-avatars-not-being-overridden/54607/9 "2016-12-28T00:00:52Z")

</div>

So even with `verbose_logging` showing `avatar_force_update = true` the avatar isn’t updated?

Are you runiing against a production docker instance?

---

<div class="post-metadata">

### Author: ![windy](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/windy/32/121414_2.png) [@windy](https://meta.discourse.org/u/windy)
#### Post date: [2016 年 12 月 28 日午前 12:14 UTC](https://meta.discourse.org/t/sso-avatars-not-being-overridden/54607/10 "2016-12-28T00:14:42Z")

</div>

Yeah, I tested on both production and a dev instance on OS X.

EDIT: Just realized I haven’t tested `avatar_force_update` on prod, will try that and report back.

---

<div class="post-metadata">

### Author: ![windy](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/windy/32/121414_2.png) [@windy](https://meta.discourse.org/u/windy)
#### Post date: [2016 年 12 月 28 日午前 12:47 UTC](https://meta.discourse.org/t/sso-avatars-not-being-overridden/54607/11 "2016-12-28T00:47:47Z")

</div>

Ok just tested on our production docker instance @Falco and still no update with `avatar_force_update: true` in verbose logging.

---

<div class="post-metadata">

### Author: ![Falco](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/falco/32/179432_2.png) [@Falco](https://meta.discourse.org/u/Falco)
#### Post date: [2016 年 12 月 28 日午前 1:17 UTC](https://meta.discourse.org/t/sso-avatars-not-being-overridden/54607/12 "2016-12-28T01:17:34Z")

</div>

The user already exists or is he being created as part of the SSO log in?

Also is `/sidekiq` with a queue? Any errors regarding `DownloadAvatarFromUrl`?

Also try this in a rails console in a production instance:

```plaintext
user = User.find_by_email(AUSEREMAILHERE)
Jobs.enqueue(:download_avatar_from_url, url: 'http://mycoolavatar.png', user_id: user.id)

```

and watch logs.

---

<div class="post-metadata">

### Author: ![lukegb](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/lukegb/32/114920_2.png) [@lukegb](https://meta.discourse.org/u/lukegb)
#### Post date: [2017 年 1 月 17 日午前 1:19 UTC](https://meta.discourse.org/t/sso-avatars-not-being-overridden/54607/13 "2017-01-17T01:19:41Z")

</div>

For what it’s worth, it works fine. The main problem is that `sso_overrides_avatar` is misleadingly named, because it won’t, in fact, override a Gravatar set on a user.

The call to `download_avatar_from_url` here:

> <https://github.com/discourse/discourse/blob/v1.8.0.beta2/app/models/discourse_single_sign_on.rb#L183>

doesn’t pass `override_gravatar`, so:

> <https://github.com/discourse/discourse/blob/v1.8.0.beta2/app/jobs/regular/download_avatar_from_url.rb#L15>

doesn’t pass on `override_gravatar`, so:

> <https://github.com/discourse/discourse/blob/63a88ee6e7bd9c1cabbea48afd745e20be370275/app/models/user_avatar.rb#L76>

won’t set it to the avatar from SSO.

Is this intentional behavior?

---

<div class="post-metadata">

### Author: ![zogstrip](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/zogstrip/32/512781_2.png) [@zogstrip](https://meta.discourse.org/u/zogstrip)
#### Post date: [2017 年 1 月 17 日午前 9:38 UTC](https://meta.discourse.org/t/sso-avatars-not-being-overridden/54607/14 "2017-01-17T09:38:10Z")

</div>

> [@lukegb](#):
>
> Is this intentional behavior?

No it’s not. Feel free to do a pull request 😉

---

<div class="post-metadata">

### Author: ![techAPJ](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/techapj/32/342990_2.png) [@techAPJ](https://meta.discourse.org/u/techAPJ)
#### Post date: [2017 年 1 月 19 日午前 5:26 UTC](https://meta.discourse.org/t/sso-avatars-not-being-overridden/54607/15 "2017-01-19T05:26:10Z")

</div>

> [@lukegb](#):
>
> The main problem is that sso\_overrides\_avatar is misleadingly named, because it won’t, in fact, override a Gravatar set on a user.

Fixed via:

[https://github.com/discourse/discourse/commit/0791c2c96636e9af5992d5d0ea6f991018cf4ef6](https://github.com/discourse/discourse/commit/0791c2c96636e9af5992d5d0ea6f991018cf4ef6)

---

<div class="post-metadata">

### Author: ![lukegb](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/lukegb/32/114920_2.png) [@lukegb](https://meta.discourse.org/u/lukegb)
#### Post date: [2017 年 1 月 20 日午後 9:23 UTC](https://meta.discourse.org/t/sso-avatars-not-being-overridden/54607/16 "2017-01-20T21:23:36Z")

</div>

Thanks! I wasn’t sure if there was an obvious edgecase I’d missed 🙂

---

<div class="post-metadata">

### Author: ![codinghorror](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/codinghorror/32/110067_2.png) [@codinghorror](https://meta.discourse.org/u/codinghorror)
#### Post date: [2017 年 1 月 20 日午後 9:29 UTC](https://meta.discourse.org/t/sso-avatars-not-being-overridden/54607/17 "2017-01-20T21:29:44Z")

</div>


