OIDC JWT の画像ストアへの URL を、追加の認証なしで画像クレームとして使用しようとしています。Entra を使用しているため、通常 userinfo はグラフ エンドポイントを指しますが、ベアラートークンを追加しないと失敗します。
omniauth for oidc を見ると、picture がユーザーに追加されているように見えるため、それをいじっています。
まず、userinfo エンドポイントを削除するようにディスカバリー ドキュメントをスプーフィングする必要がありました。これにより、userinfo の内容だけでなく、JWT クレームにアクセスできるようになります。これは、associated_user_accounts テーブルの内容に基づいてうまく機能するように見え、OIDC ログの詳細イベントで、picture クレームが検証および保存されていることがわかります。
uploads テーブルの兆候から、import_url_for_user が機能しているように見えますが、「user_avatar///.png」は行き止まりです。
Discourse Connect のアバター設定をいじってみましたが、このモデルは外部システムとは見なされないと思いますが、それも試しました。また、SSRF を考えていたため、アバター サーバーのドメイン名を「内部ホスト」リストに追加しましたが、そうではないようです。ユーザーについては、「カスタムピクチャ」が有効になっていることがわかりますが、リンクが壊れているように見えるため、試しているが角を曲がれないだけなのかわかりません。
JWT クレームを使用してアバター URL を提供することに成功した人はいますか?また、私が何を見落としているかを指摘できますか? user_avatar に関して、もう少し詳しく調べられるデバッグはありますか?