Bio
2021 年 6 月 3 日午後 8:39
1
こんにちは。最近、自サイトでログアウトすると、Discourse アカウントからも自動的にログアウトされるような、シングルサインアウトシステムを作成しようとしています。以下のウェブサイトによると、
ユーザーのログアウト
必要に応じて、システム内の任意のユーザーをログアウトさせるには、POST 形式の管理エンドポイント /admin/users/{USER_ID}/log_out を使用できます。
ログアウト時に Discourse がリダイレクトするエンドポイントを構成するには、「logout redirect」設定を検索してください。ここで URL が設定されていない場合、discourse connect url に設定された URL へリダイレクトされます。
これを実現するために API キーを作成し、https://reqbin.com/ を使って https://MY_DISCOURSE_DOMAIN/admin/users/USER_ID/log_out?api_key=XXXXXXXXXXXXXXXXXXXXXX&api_username=system に対して POST リクエストを送信しました。
API キーの設定では、ユーザーとして「system」を許可しました。なぜ動作しないのか、ご教示いただければ幸いです。
「いいね!」 2
Bio
2021 年 6 月 3 日午後 9:41
2
解決しましたので、同じように困っている方のために、参考にした別のフォーラムへのリンクをここに残しておきます。実は、API キーと API ユーザー名を URL に含めるよう提案されていた他のトピックは、約半年前に無効化されていました。POST リクエストを行う新しい方法は、以下の フォーラム に記載されている手順に従ってください。
私の場合は、以下の curl リクエストを実行して、特定のユーザーをログアウトさせました。
curl -X POST "https://DICOURSE-WEBSITE/admin/users/USER-ID/log_out" -H "Content-Type: multipart/form-data;" -H "Api-Key: INSERT-API-KEY" -H "Api-Username: INSERT-API-USERNAME"
「いいね!」 6
david
(David Taylor)
2021 年 6 月 3 日午後 9:42
3
動作したとのことで、嬉しく思います!
古いトピックへのリンクを教えていただけますか?そうすれば、それらを更新または削除できます。
「いいね!」 2
Bio
2021 年 6 月 3 日午後 10:08
4
「いいね!」 3
david
(David Taylor)
2021 年 6 月 4 日午前 7:48
5
ありがとうございます。そのトピックにいくつかのメモを追加しました。
「いいね!」 3
david
(David Taylor)
クローズされました:
2021 年 6 月 5 日午前 7:00
6
このトピックは 23 時間後に自動的に閉鎖されました。新しい返信は受け付けられなくなっています。