WIFと古典的なSessionSecurityTokenHandler
を使用するASP.NET MVCアプリケーションがあります。つまり、WIF cookieはDPAPIを使用して署名されています。ASP.NET WIFセキュリティトークンハンドラを変更してCryptographicExceptionを回避する
セキュリティトークンハンドラをMachineKeySessionSecurityTokenHandler
に切り替えるには、Azure Webアプリケーションデプロイメントで複数のインスタンス(Webファーム)にアプリケーションを拡大する必要があるためです。これは、WIFのクッキーがマシンキー(Webアプリケーションインスタンス全体で共有される)を使用して署名されることを意味します。
私たちが直面する問題は、既にアプリケーション用に初期化されたクッキーを持っているユーザーにあります。トークンハンドラを残酷に変更すると、クッキーの署名が無効であるため、これらのユーザーはCryptographicException
のため、醜いHTTP 500ページを取得します。
エラーを防止し、古くなったCookieを破棄するか、ユーザーに再度認証させる方法がありますか?