Le serveur hébergeant notre instance Discourse a planté de manière catastrophique, et nous ne disposons que d’une sauvegarde assez ancienne de Discourse.
L’instance, que nous avons restaurée, utilise l’authentification unique (SSO) avec Drupal.
Question : entre la date de la dernière sauvegarde et aujourd’hui, plusieurs utilisateurs ont été désactivés dans Drupal et ne devraient donc plus pouvoir se reconnecter à Discourse (je suppose).
Mais qu’en est-il des notifications par e-mail ? On nous a déjà signalé que certains anciens utilisateurs ont reçu des notifications. Existe-t-il un moyen de faire comprendre automatiquement à Discourse quels utilisateurs ne devraient plus en recevoir ? J’aimerais vraiment éviter de parcourir manuellement la liste des utilisateurs
Vous pourriez demander à Drupal d’utiliser l’API pour désactiver ces utilisateurs. Ou bien générer une liste et les désactiver depuis la console Rails.
Pour trouver les appels API, consultez Reverse engineer the Discourse API. De plus, les sujets concernant l’SSO devraient fournir des informations sur la façon de désactiver les comptes via l’authentification unique. Cependant, dans votre cas, les comptes sont déjà désactivés, vous voudrez donc probablement obtenir une liste de ces comptes . . . d’une manière ou d’une autre . . . puis exécuter quelque chose comme :
Users.where(déterminer les utilisateurs).update_all(active: false)
(Ce n’est pas tout à fait exact, mais c’est l’idée.)
S’il s’agit d’une urgence et que vous avez un budget, mes coordonnées figurent dans mon profil.
Merci, mais je demandais surtout s’il existe une procédure, un point de terminaison ou un appel SSO standard pour gérer ce type de cas (synchronisation des utilisateurs actifs).
Il y en a. Vous pouvez probablement le trouver dans le plugin wp-discourse, mais le moyen le plus simple de le localiser consiste à désactiver un compte avec les outils de développement ouverts et à observer l’appel qu’il effectue.