L'avatar ne se synchronise qu'à la création

Bonjour !

J’utilise ce plugin pour synchroniser les utilisateurs d’un site Django, mais l’avatar n’est synchronisé qu’à la création. Si l’utilisateur le modifie dans Django, il n’est pas synchronisé dans Discourse.

En fait, dans managed_authenticator.rb de Discourse, retrieve_avatar retourne tôt si l’utilisateur a déjà une configuration d’avatar personnalisée :

  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

Ai-je manqué quelque chose ou discourse-openid-connect ne peut-il pas mettre à jour l’avatar lors de la connexion ?

J’ai aussi une question pour le « site web », l’« emplacement » et la « bio ». DiscourseConnect les synchronise à la connexion, openidconnect peut-il aussi le faire ? Tous sont pris en charge dans les revendications oidc.

Cordialement !

2 « J'aime »

Pareil, avec la v3.1.3…

Oui, je me suis aussi battu avec ça pour standardiser les avatars.

J’espérais utiliser une revendication d’image personnalisée de notre IdP (Entra) pour inclure l’URL d’un hôte d’avatar qui n’a pas le problème avec l’authentification du jeton porteur pour download_avatar_from_url comme le fait celui de graph.microsoft générique. Cependant, les tests semblent indiquer que le plugin stocke /userinfo et ignore la revendication d’image JWT, donc c’est un peu une impasse de toute façon.

Je viens de réaliser que je devrais probablement poster ceci ici, mais j’ai soumis une PR pour ceci : FEATURE: managed auth can override avatars by lewisakura · Pull Request #34123 · discourse/discourse · GitHub

2 « J'aime »

Merci pour votre contribution @lewisakura, votre PR est maintenant fusionné !

1 « J'aime »

Ce sujet a été automatiquement fermé après 12 jours. Les nouvelles réponses ne sont plus autorisées.