web-dev-qa-db-ja.com

フェデレーション認証と「暗号化操作中にエラーが発生しました」

ASP.NET MVCアプリケーションでホームページを取得しようとすると、この例外が発生しました。

[CryptographicException:暗号化操作中にエラーが発生しました。]
System.Web.Security.Cryptography.HomogenizingCryptoServiceWrapper.HomogenizeErrors(Func`2 func、Byte [] input)+246
System.IdentityModel.Services.MachineKeyTransform.Decode(Byte []エンコード済み)+191
System.IdentityModel.Tokens.SessionSecurityTokenHandler.ApplyTransforms(Byte [] cookie、Boolean outbound)+173
System.IdentityModel.Tokens.SessionSecurityTokenHandler.ReadToken(XmlReader reader、SecurityTokenResolver tokenResolver)+756
System.IdentityModel.Tokens.SessionSecurityTokenHandler.ReadToken(Byte [] token、SecurityTokenResolver tokenResolver)+100
System.IdentityModel.Services.SessionAuthenticationModule.ReadSessionTokenFromCookie(Byte [] sessionCookie)+1164
System.IdentityModel.Services.SessionAuthenticationModule.TryReadSessionTokenFromCookie(SessionSecurityToken&sessionToken)+287
System.IdentityModel.Services.SessionAuthenticationModule.OnAuthenticateRequest(Object sender、EventArgs eventArgs)+231
System.Web.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()+80 System.Web.HttpApplication.ExecuteStep(IExecutionStep step、Boolean&completedSynchronously)+165

私が理解していることから、SessionAuthenticationModuleのCookieで問題が発生しています。 Cookieをクリアすると(既にここに記載されているように Azureでのフェデレーション認証 )、機能します。何が起こっているのか、例外をキャッチして問題を修正する方法を理解したいと思います。

19
Dave

Cookieが発行されると、現在のmachineKeyを使用して暗号化されたセキュリティトークンが含まれます。前のビルドのCookieがサーバーに返送されると、SAM(より正確にはトークンハンドラー)は、エラーの原因となるmachineKeyの新しい値を使用してCookieを復号化しようとします。エラーを軽減するには、関連する投稿( Azureでのフェデレーション認証 )で私の回答を確認してください。 HTH

16
eXavier

私も同じ問題に直面しました。 ブラウザのcookiecache dataをすべてクリアしたところ、修正されました。

3
Baqer Naqvi