Olá!\n\nEstou usando este plugin para sincronizar usuários de um site Django, mas o avatar só é sincronizado na criação. Se o usuário o alterar no Django, ele não é sincronizado no Discourse.\n\nNa verdade, no Discourse managed_authenticator.rb, o retrieve_avatar retorna cedo se o usuário já tiver um avatar personalizado configurado:\n\nrb\n def retrieve_avatar(user, url)\n return unless user && url\n return if user.user_avatar.try(:custom_upload_id).present?\n Jobs.enqueue(:download_avatar_from_url, url: url, user_id: user.id, override_gravatar: false)\n end\n\n\nPerdi alguma coisa ou o discourse-openid-connect não pode atualizar o avatar no login?\n\n\nTambém tenho uma pergunta sobre "website", "location" e "bio_raw". O DiscourseConnect os sincroniza no login, o openidconnect também pode fazer isso? Todos são suportados nas reivindicações do oidc\n\nObrigado!
O mesmo aqui, com a v3.1.3…
Sim, tenho lutado com isso também na padronização de avatares.
Eu esperava usar uma reivindicação de imagem personalizada do nosso IdP (Entra) para incluir o URL para um host de avatar que não tenha o problema com autenticação de token de portador para download_avatar_from_url como o genérico graph.microsoft faz. No entanto, os testes parecem indicar que o plugin armazena /userinfo e ignora a reivindicação de imagem JWT, então é um beco sem saída de qualquer maneira.
Acabei de perceber que provavelmente deveria postar isso aqui, mas enviei um PR para isso: FEATURE: managed auth can override avatars by lewisakura · Pull Request #34123 · discourse/discourse · GitHub
Obrigado pela contribuição @lewisakura, seu PR foi mesclado!
Este tópico foi automaticamente fechado após 12 dias. Novas respostas não são mais permitidas.