Réinitialiser l'avatar dans la synchronisation SSO

Je souhaite réinitialiser l’avatar tout en utilisant sync_sso (pour revenir à letter_avatar_proxy). Actuellement, je transmets avatar_force_update=true sans aucune valeur pour avatar_url. Devrais-je plutôt transmettre une valeur explicite (null ?) pour avatar_url ? Merci d’avance.

En examinant le code SSO de Discourse, je ne pense pas qu’il soit possible de réinitialiser l’avatar d’un utilisateur vers un avatar lettre en appelant sync_sso. Ce que fait le code, c’est essayer de télécharger l’avatar depuis l’URL transmise via le paramètre avatar_url. Si ce paramètre est omis, défini sur null ou une chaîne vide, aucune modification ne sera apportée à l’avatar de l’utilisateur.

3 « J'aime »

Comment puis-je demander à l’API de faire cela ? J’ai tenté de mettre en place une solution de contournement, mais cela ne fonctionne pas tout à fait.

Une bonne approche pour déterminer quel appel API effectuer pour réaliser une action consiste à exécuter l’action via l’interface utilisateur de Discourse tout en surveillant l’onglet Réseau de votre inspecteur web afin de trouver des détails sur la requête qui est envoyée. Consultez Comment faire de l’ingénierie inverse de l’API Discourse pour plus de détails sur cette approche.

Les avatars des utilisateurs peuvent être mis à jour vers l’avatar système en effectuant une requête API PUT vers

http://forum.example.com/u/<nom_utilisateur_discourse>/preferences/avatar/pick

Définissez type=system dans les données de formulaire de la requête. Vous devrez remplacer l’URL de votre forum et le nom d’utilisateur Discourse que vous souhaitez mettre à jour dans l’URL.

Voici un exemple de requête curl depuis mon site local. J’ai défini $api_key sur ma clé API « Tous les utilisateurs » :

curl -X PUT "http://localhost:3000/u/scossar/preferences/avatar/pick" \
-H "Api-Key: $api_key" \
-H "Api-Username: system" \
-H "Content-Type: multipart/form-data;" \
-F "type=system"

Une chose à noter est que cette requête échouera si vous avez activé le paramètre du site sso overrides avatar.

1 « J'aime »

Étrangement, c’est la solution de contournement que j’ai essayée, mais j’observais des résultats incohérents. Je vais y consacrer un peu plus de temps et vous tiendrai au courant.

1 « J'aime »