Ça fait bientôt deux ans que les podcasts de Radio Panik sont annoncés dans le fedivers, via le serveur Mastodon piaille.fr.
Le 10 juillet ce serveur est passé de la version 4.3.8 à 4.4.1, BIM BAM BOUM est-il annoncé,

Et en effet : je ne l’ai pas remarqué tout de suite mais la publication automatique des podcasts de la radio s’est arrêtée à ce moment-là .
Je l’ai vu hier soir trop fatigué pour bien comprendre la situation, j’y ai consacré le temps nécessaire aujourd’hui et l’histoire commence dans le « changelog » de Mastodon, le fichier faisant le récapitulatif de tous les changements et dedans, pour la version 4.4.0 :
Remove support for OAuth Password Grant Type (#30960 by @ThisIsMissEm)
https://docs.joinmastodon.org/spec/oauth/#token
Le mode d’authentification par mot de passe était le mode le plus simple à coder et c’était donc ce que j’avais fait, mais pas de chance c’est supprimé.
À chercher des infos je lis la page OAuth details qui pointe vers l’utilisation d’un refresh_token, dans une phrase qui me semble se mordre un peu la queue,
Get the refresh_token from your local cache. If you have one, any access token you might have has probably expired anyway. Refresh by visiting /oauth/token using a POST request with the parameters client_id=<client_key> (yes, this is confusing!), client_secret=<client_secret>, grant_type=refresh_token, refresh_token=<refresh_token>. Save the access_token you get back in your local cache.
J’essaie néanmois et la réponse fuse :
{
"error":"unsupported_grant_type",
"error_description":"Le type de consentement d’autorisation n’est pas pris en charge par le serveur d’autorisation."
}
Allant plus loin je lis la documentation de la bibliothèque utilisée, qui parle d’une action à réaliser pour activer ce mode avec refresh tokens :
To enable refresh tokens in your provider, go to initializers/doorkeeper.rb and add (or uncomment) this line:
À ce moment j’en suis à composer un message pour les adminstrateur·ices du serveur, leur demander de faire ça, quand je relis plus attentivement la documentation pointée dans le changelog, elle note bien ce qui a été supprimé,
Mastodon has historically supported the Password Grant flow, however, usage is not recommended by the OAuth 2 Specification authors due to security issues, and has subsequently been removed from future versions of Mastodon. Instead, it is recommended that you create an OAuth Application for that user, and use the generated Access Token for interacting with the API.
Il n’est ici pas question de refresh token, vraisemblablement il n’y a rien à activer côté piaille.fr et c’est de mon côté que je rate quelque chose.
Après quelques tests c’est quelque chose de bien simple en fait : le access token qui est récupéré pour l’authentification n’expire pas, il y a donc simplement moyen de l’enregistrer et le réutiliser par la suite. J’ai donc validé et codé ça et ça a fonctionné, j’ai mis à jour la documentation de panikdb.
Le déroulé pour la configuration est désormais de demander un code d’autorisation unique via le paramètre --ask-code, de le copier-coller dans le paramètre --use-code, un access token sera récupéré et enregistré.
Les annonces sont de retour.
