Avatares basados en SSO y conexión con Usuarios

He estado intentando usar una reclamación de imagen en nuestro OIDC JWT que es una URL a un almacén de imágenes sin autenticación adicional. Usamos Entra, por lo que normalmente userinfo apunta al punto final de graph y sin agregar un token bearer, eso fallará.

Mirando omniauth para oidc parece que la imagen se agrega al usuario, así que he estado jugando con eso.

Primero, necesitábamos falsificar el documento de descubrimiento para eliminar el punto final de userinfo, lo que permite que las reclamaciones de imagen sean accesibles en lugar de solo lo que está en userinfo. Esto parece funcionar bien según el contenido de la tabla associated_user_accounts y los eventos de registro OIDC detallados que puedo ver que la reclamación de imagen se verifica y almacena.

Puedo ver indicios en la tabla uploads de que import_url_for_user parece estar funcionando, pero el "user_avatar/<site>/<username>/<size>.png" es un callejón sin salida.

He jugado con la configuración de avatar de Discourse Connect y no creo que este modelo cuente como un sistema externo, pero también lo he intentado. También he agregado el nombre de dominio del servidor de avatar a la lista de “hosts internos”, ya que estábamos pensando en SSRF, pero no parece ser el caso. Para los usuarios, veo que “Imagen personalizada” está habilitado, pero el enlace parece roto, así que no estoy seguro de si lo está intentando y simplemente no puede girar la esquina.

¿Alguien ha tenido algún éxito aquí en usar reclamaciones JWT para proporcionar la URL del avatar y tal vez pueda señalar lo que me estoy perdiendo? ¿Hay alguna depuración en torno a user_avatar en la que pueda profundizar y que pueda arrojar algo de luz?