我正在使用asp.net core 2.2.1
我在IIS上发布了我的代码。每当我第一次运行我的应用程序时,它都会给出如下异常:
Microsoft.AspNetCore.Antiforgery.Internal.DefaultAntiforgery | ERROR | An 反序列化令牌时抛出异常。反伪造 令牌无法解密。
我尝试从最近5天开始解决此问题,请参考许多链接,但没有结果。我也尝试尝试禁用AntiForgery
,但没有结果。
services.AddDataProtection().DisableAutomaticKeyGeneration();
这是否可以禁用Antiforgery
或任何其他解决相同问题的方法。
答案 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."
因此,请检查一下。