ユーザーセッションから完全にログアウトし、oauthデータをクリアする方法

ログアウトロジックで課題が発生しています。

Auth0設定とDiscourse OAuth2を使用しています。問題は、currentUser.destroySession() を使用してログアウトをトリガーすると、ユーザーはログアウトされるためDiscourseセッションは終了しますが、OAuthデータが何らかの形でキャッシュされていることです。

ここで何を意味するかというと?

コンテキスト: SSOを使用している場合、ユーザーがサイトからログアウトすると、次にログインしようとしたときに、サイトからSSOページにリダイレクトされ、そこで資格情報を入力できるようになり、認証されると、アクティブなセッションでサイトに戻されることが期待されます。

上記のコンテキストを使用すると、Discourseはユーザーを完全にログアウトしていないようです。そのため、Discourseからログアウトしても問題なく機能しますが、フォーラムサイトに再度ログインしようとすると、DiscourseはSSOページを再度トリガーせず、以前にログインしたSSOアカウントを何らかの方法で記憶しており、自動的にユーザーを選択してログインします。これは非常に奇妙です。

これは基本的に、そのユーザーから抜け出せないことを意味します。インコグニトまたは完全に異なるブラウザを使用しない限り、別のユーザーアカウントに変更することはできません。

期待: ログアウトをクリックすると、次にログインしようとしたときに、Auth0 SSOページに移動し、必要な操作を実行した後、Discourseフォーラムにリダイレクトされるはずです。

currentUser.destroySession() のセッションとOAuthデータのクリア方法に問題があるようです。

手動でAPI呼び出しを行ってユーザーセッションを破棄することもテストしましたが、結果は同じで改善はありませんでした。

fetch(`https://MY_FORUM.discourse.group/admin/users/USER_ID/log_out`, {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'Api-Key': 'API_KEY',
    'Api-Username': 'ADMIN_USERNAME',
  },
})

OAuthを使用する際のログアウトの修正/アプローチ方法について、アイデアがあれば共有してください。

「いいね!」 1