应用程序总是给出异常:反序列化令牌时引发了异常。防伪令牌无法解密

时间:2019-12-17 09:04:37

标签: asp.net-core asp.net-core-2.2 antiforgerytoken

我正在使用asp.net core 2.2.1

我在IIS上发布了我的代码。每当我第一次运行我的应用程序时,它都会给出如下异常:

  

Microsoft.AspNetCore.Antiforgery.Internal.DefaultAntiforgery | ERROR | An   反序列化令牌时抛出异常。反伪造   令牌无法解密。

我尝试从最近5天开始解决此问题,请参考许多链接,但没有结果。我也尝试尝试禁用AntiForgery,但没有结果。

services.AddDataProtection().DisableAutomaticKeyGeneration();

这是否可以禁用Antiforgery或任何其他解决相同问题的方法。

1 个答案:

答案 0 :(得分:0)

令牌很可能以前已经用一个密钥加密,该密钥不是服务器在发出此异常时使用的密钥。您可以尝试将密钥保留在某处,以便在重新启动密钥时始终使用同一密钥,例如使用https://docs.microsoft.com/en-us/aspnet/core/security/data-protection/configuration/overview?view=aspnetcore-3.1#persistkeystofilesystem吗?

您还应该检查日志,因为您的应用程序要记录的第一件事就是关于密钥。例如,如果您不坚持下去,则可以得到一些日志,例如:"Using an in-memory repository. Keys will not be persisted to storage."因此,请检查一下。