J’ai essayé d’utiliser une revendication d’image dans notre OIDC JWT qui est une URL vers un magasin d’images sans authentification supplémentaire. Nous utilisons Entra, donc normalement userinfo pointe vers le point de terminaison graph et sans ajouter de jeton porteur, cela échouera.
En regardant omniauth pour oidc, il semble que l’image soit ajoutée à l’utilisateur, j’ai donc joué avec cela.
Tout d’abord, nous avons dû usurper le document de découverte pour supprimer le point de terminaison userinfo, ce qui permet d’accéder aux revendications JWT plutôt qu’à ce qui se trouve uniquement dans userinfo. Cela semble bien fonctionner en fonction du contenu de la table associated_user_accounts et des événements de journal OIDC détaillés, je peux voir que la revendication d’image est vérifiée et stockée.
Je peux voir des indications dans la table uploads que l’import_url_for_user semble fonctionner, mais le “user_avatar///.png” est une impasse.
J’ai joué avec les paramètres d’avatar de Discourse Connect et je ne pense pas que ce modèle soit considéré comme un système externe, mais j’ai essayé cela aussi. J’ai également ajouté le nom de domaine du serveur d’avatar à la liste des “hôtes internes” car nous pensions au SSRF, mais cela ne semble pas être le cas. Pour les utilisateurs, je vois que “Custom Picture” est activé, mais le lien semble cassé, donc je ne suis pas sûr si cela essaie mais ne peut tout simplement pas tourner le coin.
Quelqu’un a-t-il eu du succès ici en utilisant les revendications JWT pour fournir l’URL de l’avatar et peut-être indiquer ce qui me manque ? Y a-t-il une forme de débogage autour de user_avatar que je peux explorer et qui pourrait apporter un éclairage ?