オプションの OpenID 認証をシステムに追加しています。すべてが DotNETOpenID でスムーズに機能します。それでも、次の場合に問題が発生します。
- ユーザーは、標準のログイン (FormsAutentication) を使用して Web アプリケーションにログインします。
- ユーザーは、いくつかの OpenID をアカウントに関連付けます (ここでは、要求された ID を取得するために、プログラムによる OpenID ログオンを使用します)
- ユーザーは FormsAuthentication からログアウトし、OpenID で (ログイン コントロールを使用して) 再度ログインします。
最後のステップで、リプレイ アタック エラーが発生します。OpenID は、新しいリクエストを開始するのではなく、前のリクエストを取得するために使用されるアプリケーション ストア (リクエストに使用される) に一部の情報を保持していると思われます。
ここで問題に光を当てるのを手伝ってくれる人はいますか?
問題が私がそれをどのように理解したかである場合、プログラムによるログインを使用して OpenID をアカウントに正常にバインドした後、この特定の状態情報をクリーンアップするにはどうすればよいですか (要求が成功した場合)。