Selon la documentation de l’API Discourse (Documentation de l’API Discourse), il devrait être possible de modifier l’e-mail via le point de terminaison référencé.
Utilisez ce point de terminaison d’API : PUT /u/{username}.json
Cependant, cela enverra un lien de confirmation à l’adresse e-mail pour qu’il soit approuvé manuellement par l’utilisateur. Jusque-là, l’e-mail ne sera pas modifié.
Merci pour votre aide. Il serait peut-être utile de supprimer la propriété email de la PUT /u/{username.json} dans la documentation. Cela pourrait vous faire gagner du temps de débogage ;-).
Concernant l’e-mail de confirmation : j’en ai lu parler dans un autre sujet. Je ne vois pas l’intérêt. Au cas où, Discourse est une application parmi d’autres dans le projet et l’authentification des utilisateurs est gérée par un serveur d’authentification personnalisé (comme dans mon cas). Le serveur d’authentification gère la confirmation par e-mail. Les applications devraient simplement faire ce que dit le serveur d’authentification. C’est, à mon avis, la manière normale de faire. Sinon, cela entraîne plusieurs e-mails de confirmation, des jeux de données différents…
Merci d’avoir soulevé ce point. C’est effectivement étrange. Il s’agit peut-être d’un vestige d’une époque révolue. Je vais recueillir des informations et mettre à jour la documentation si nécessaire.
Vous devez alors le configurer pour indiquer à Discourse que l’adresse e-mail a été validée et ne pas mettre à jour l’e-mail sur l’API, mais sur votre serveur d’authentification.