APIでIPブロックせずにユーザーアカウントを削除する方法

Discourse を別のアプリと統合し、ユーザーは Keycloak で管理しています。別のアプリでユーザーがアカウントを削除すると、API を介して Discourse でも削除します。
これは正常に機能しますが、その後、ユーザーの IP が Discourse で自動的にブロックされるため、同じ IP から別のユーザーとしてログインする方法がなくなります。
この IP ブロックをオフにすることはできますか? それとも、一定時間後に自動的にブロック解除するようにできますか?

はい。IPをブロックしているものをインチェックする必要があります。Discourse APIのリバースエンジニアリングを参照し、UXから実行したときに何が起こるかを確認してください。

APIドキュメントによると、IPをブロックするかどうかは、リクエストのボディで渡されるオプションの1つです。

したがって、リクエストが行われているコードでは、リクエストのボディに”block_ip”: falseを含むJSONを提供できるはずです。

例:

{
  delete_posts: false,
  block_email: false,
  block_urls: false,
  block_ip: false,
}
「いいね!」 3

これを理解しているかどうかわかりません。
アカウントが削除された後にAPI経由でIPをブロック解除する必要があるということですか?

実際には、Discourseの設定スイッチを期待していました。

了解しました。ありがとうございます。試してみます。

「いいね!」 2

こんにちは
ここで回答を得られましたか?私の場合は、「block_ip」: false が API リクエスト本文で機能しなかったので、機能しましたか、それとも Discourse API をリバースエンジニアリングして別の個別のリクエストを送信しましたか?

私には機能します。
これが私たちのリクエストボディです。

{
  delete_posts: false,
  block_email: false,
  block_urls: false,
  block_ip: false,
}
「いいね!」 2

リクエストボディとして \"block_ip\": false を使用したことが原因かどうか疑問に思っています。JSON オブジェクト文字列ではなく。投稿を編集することはできなくなりましたが、マークされたソリューションをより明確にするために、JSON を例として追加するようにフラグを立てました。

ご返信ありがとうございます。
リクエストJSONボディ {block_email: false} については、これを実装済みです(私たちの状況では block_email です)。しかし、ユーザー削除APIでは効果がないようです。メールをScreened Emails(Blocking Emails)から削除するには、別のリクエストを送信する必要がありました。

JSON文字列の構築方法(手動またはライブラリを使用)によっては、シングルクォート、ダブルクォート、または引用符なしを試す必要がある場合があります。それ以外は、私にはわかりません。Discourse APIは通常、約束したことを正確に実行します。

「いいね!」 1

ユーザー削除APIで同じ状況になった方のために、ここに投稿します。
block_ip: False は、IPアドレスがスクリーニング済みIPに追加されるのを確実に防ぎます。
block_email: False は、メールアドレスがスクリーニング済みメールに追加されるのを防ぐはずですが、一部のエッジケース(スパムフラグが付いたユーザーやTL0の新規ユーザーなど)では、block_email が False であってもメールのスクリーニングがトリガーされる可能性があります。
この場合、スクリーニング済みメールからメールのブロックを解除するために、追加のリクエストが必要になります。

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.