別々のドメインに 2 つのサイトがあります。Thinktecture IdentityModel を使用して SSO を実装しています。
ユーザーがサイト A にログインします。ある時点で、ユーザーはリンクをクリックしてサイト B に移動します。サイト A は、JWT トークンを使用してユーザーをサイト B/Login.aspx?token=< token > にリダイレクトします。次に、サイト B は、サイト A で API を呼び出してユーザーを認証することにより、トークンを検証します。認証された場合、ユーザーは自動的にサイト B にログインします。
デフォルトでは、Thinktecture トークンは 10 時間持続し、トークンを殺す方法はありません (私が知る限り)。ユーザーがサイトからログアウトしても、トークンは引き続き有効です。ブラウザーの履歴を見て、"Login.aspx?token=< トークン >" URL を取得すると、自動的に再度ログインできます。ユーザーがログアウトしたときにすべてのユーザー トークンを削除する方法はありますか? トークンをクエリ文字列の一部として渡すべきではありませんか? リプレイ攻撃を防ぐ最善の方法は何ですか?