アバターは作成時にしか同期しない

こんにちは!

Djangoサイトからユーザーを同期するためにこのプラグインを使用していますが、アバターは作成時にのみ同期されます。Djangoで変更しても、Discourseでは同期されません。

実際、Discourseのmanaged_authenticator.rbでは、ユーザーがすでにカスタムアバターを設定している場合、retrieve_avatarは早期にリターンします。

  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

何か見落としていることはありますか、それともDiscourse OpenID Connectはログイン時にアバターを更新できませんか?

また、「ウェブサイト」、「場所」、「自己紹介」についても質問があります。DiscourseConnectはログイン時に同期しますが、OpenID Connectでも可能ですか?すべてOIDCクレームでサポートされています。

よろしくお願いします!

「いいね!」 2

私も同様です。v3.1.3です…

はい、アバターの標準化で私も同じ問題と格闘してきました。

IdP (Entra) からカスタムピクチャクレームを使用して、アバターホストへの URL を含めることを期待していました。これは、一般的な graph.microsoft のような download_avatar_from_url でベアラートークン認証の問題がないためです。しかし、テストしたところ、プラグインは /userinfo を保存し、JWT のピクチャクレームを無視するようです。いずれにしても、行き止まりです。

ここに投稿すべきだと気づいたのですが、このPRを提出しました: FEATURE: managed auth can override avatars by lewisakura · Pull Request #34123 · discourse/discourse · GitHub

「いいね!」 2

@lewisakura さん、コントリビューションありがとうございます。PRはマージされました!

「いいね!」 1

このトピックは12日後に自動的に閉じられました。返信はもう許可されていません。