J’ai mis à jour mes forums de la version 1.6 à la 3.1, ce qui a impliqué de migrer vers un nouveau serveur, de restaurer une sauvegarde, puis de tout reconnecter.
Nous utilisons l’authentification unique (SSO) pour nous connecter aux deux, ce qui fonctionne toujours.
Cependant, Discourse semble maintenant générer des erreurs dans certaines zones aléatoires, ce qui pose un problème lors de la création de comptes à partir du site web via l’API.
Nous utilisions la gem Ruby discourse_api dans sa version 0.10.1, que j’ai mise à jour à la version 0.48.1.
L’erreur se produit à :
DiscourseApiService.new.user(self)
Ce qui appelle :
resp = client.get("/users/by-external/#{user.id}")
Ce qui génère l’erreur :
{"errors"=>["L'URL ou la ressource demandée n'a pas pu être trouvée."], "error_type"=>"not_found"}
Cela fonctionnait correctement auparavant, mais maintenant, pour une raison quelconque, l’URL ne peut pas être trouvée.
J’ai essayé de rétrograder la gem discourse_api à la version 0.10.1, celle que nous utilisions précédemment, et cela passe le stade de client.get sans problème, mais échoue à l’appel suivant avec la même erreur :
client.sync_sso(
{"errors"=>["L'URL ou la ressource demandée n'a pas pu être trouvée."], "error_type"=>"not_found"}