我正在使用 asp.net core 2.2.1
我在 IIS 上发布了我的代码。每当我第一次运行我的应用程序时,都会出现如下异常:
Microsoft.AspNetCore.Antiforgery.Internal.DefaultAntiforgery|ERROR|An exception was thrown while deserializing the token. The antiforgery token could not be decrypted.
过去 5 天我一直在尝试解决这个问题,引用了很多链接但没有结果。我也尝试按照禁用 AntiForgery
但没有结果。
services.AddDataProtection().DisableAutomaticKeyGeneration();
这是禁用Antiforgery
的任何方式还是解决相同问题的任何其他解决方案。
最佳答案
很可能 token 之前已使用不是您的服务器在他发出此异常时使用的 key 加密。您能否尝试将您的 key 保留在某处,以便在它重新启动时始终使用相同的 key ,例如使用 https://learn.microsoft.com/en-us/aspnet/core/security/data-protection/configuration/overview?view=aspnetcore-3.1#persistkeystofilesystem ?
您还应该检查日志,因为您的应用程序首先记录的内容之一就是 key 。例如,如果您不持久化它,您会得到一些日志,例如:“使用内存存储库。 key 不会持久化到存储中。”
所以请检查一下。
关于asp.net-core - 应用程序总是给出异常 : An exception was thrown while deserializing the token. 无法解密防伪 token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59370774/