Nous avons intégré Discourse à une autre application, et les utilisateurs sont gérés dans Keycloak. Lorsqu’un utilisateur supprime son compte dans l’autre application, nous le supprimons également via l’API dans Discourse.
Cela fonctionne bien, mais l’adresse IP de l’utilisateur est alors bloquée automatiquement dans Discourse, il n’y a donc aucun moyen de se connecter en tant qu’utilisateur différent depuis la même adresse IP.
Ce blocage d’adresse IP peut-il être désactivé ? Ou peut-il être débloqué automatiquement après un certain temps ?
Oui. Vous devrez vérifier l’élément qui bloque l’adresse IP. Voir Ingénierie inverse de l’API Discourse et voir ce qui se passe lorsque vous le faites à partir de l’interface utilisateur.
Selon la documentation de l’API pour la suppression d’un utilisateur, le blocage de l’adresse IP est l’une des options transmises dans le corps de la requête.
Donc, dans le code où la requête est effectuée, vous devriez pouvoir fournir du JSON dans le corps de la requête qui inclut ”block_ip”: false.
Par exemple :
{
delete_posts: false,
block_email: false,
block_urls: false,
block_ip: false,
}
Je ne suis pas sûr de comprendre. Voulez-vous dire que je dois débloquer l’adresse IP via l’API après la suppression du compte ? J’espérais en fait un interrupteur de configuration dans Discourse.
Ah, compris. Merci, je vais essayer ça.
Salut
As-tu eu ta réponse ici ? car « block_ip »: false, ne fonctionne pas dans le corps de la requête API dans mon cas, alors l’as-tu fait fonctionner ou as-tu envoyé une autre requête séparée en faisant de l’ingénierie inverse de l’API Discourse ?
Ça fonctionne pour moi.
Voici le corps de notre requête :
{
delete_posts: false,
block_email: false,
block_urls: false,
block_ip: false,
}
Je me demande si le problème venait de l’utilisation de \"block_ip\": false exactement pour le corps de la requête, par opposition à une chaîne d’objet JSON. Je ne peux plus modifier mon message, mais je l’ai signalé pour que votre JSON soit ajouté en exemple afin, espérons-le, de rendre la solution marquée plus claire.
Merci pour votre réponse.
Nous avons cela en place pour le corps JSON de la requête {block_email: false} (C’est block_email dans notre situation), mais cela ne semble pas prendre effet dans l’API de suppression d’utilisateur. Nous avons dû envoyer une requête séparée pour supprimer l’e-mail des e-mails filtrés (blocage des e-mails).
Selon la façon dont vous construisez votre chaîne JSON (manuellement ou avec une bibliothèque), vous devrez peut-être essayer les guillemets simples, les guillemets doubles, ou pas de guillemets du tout. À part cela, je n’ai aucune idée - l’API Discourse fait généralement exactement ce qu’elle promet.
D’accord, je vais le publier ici pour ceux qui rencontrent la même situation avec l’API de suppression d’utilisateur.
block_ip: False empêche de manière fiable que l’IP ne soit ajoutée aux IP filtrées.
block_email: False devrait empêcher l’e-mail d’être ajouté aux e-mails filtrés, cependant certains cas limites (comme les utilisateurs signalés comme spam ou les nouveaux utilisateurs de niveau TL0) peuvent toujours déclencher le filtrage de l’e-mail même si block_email est False.
Cela nécessitera une requête supplémentaire pour débloquer l’e-mail depuis Screened Emails.
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.