Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 来自不同服务器的令牌导致持续崩溃_Asp.net_Asp.net Core_Asp.net Identity - Fatal编程技术网

Asp.net 来自不同服务器的令牌导致持续崩溃

Asp.net 来自不同服务器的令牌导致持续崩溃,asp.net,asp.net-core,asp.net-identity,Asp.net,Asp.net Core,Asp.net Identity,我们有一个ASP.NET核心应用程序,它有默认的身份验证系统,托管在Azure上。 最近,我们创建了一个新的AppService,并将用户路由到该服务,同时保持与同一数据库的连接 但是,当用户使用新服务器时,我们会连续崩溃,出现以下错误: 在密钥环中找不到密钥{xxx xxx xxx xxx} 类型 System.Security.Cryptography.CryptographyException异常 方法 Microsoft.AspNetCore.Antiforgery.Internal.D

我们有一个ASP.NET核心应用程序,它有默认的身份验证系统,托管在Azure上。 最近,我们创建了一个新的AppService,并将用户路由到该服务,同时保持与同一数据库的连接

但是,当用户使用新服务器时,我们会连续崩溃,出现以下错误:

在密钥环中找不到密钥{xxx xxx xxx xxx}

类型

System.Security.Cryptography.CryptographyException异常

方法

Microsoft.AspNetCore.Antiforgery.Internal.DefaultAntiforgeryTokenSerializer.Deserialize(字符串 (已序列化)

我们的理解是,服务器正在尝试解密令牌,但由于它是从另一台服务器接收的,所以我们的服务器只是崩溃

如果您能提出临时解决此问题的方法,直到我们更换数据保护提供商,我们将不胜感激

我们想要一种不会让我们的服务器崩溃的方法

多谢各位

更新:我很惊讶这个错误发生在:POST-Account/Login和POST-Account/Register中,而这些方法不需要授权,但是这些方法被修饰为:

[ValidateAntiForgeryToken]


Get Account/Login和Post Account/Login都发生在同一台服务器上。

确保整个服务器场的机器密钥相同。您应该在应用程序级别进行设置,这意味着不同的应用程序具有不同的密钥,但同一应用程序在服务器场的所有服务器上具有相同的密钥

机器mey负责加密引擎某些选定功能的内部,包括防伪令牌。不同服务器上的不同密钥会导致您描述的问题


确保整个农场都有相同的机器钥匙。您应该在应用程序级别进行设置,这意味着不同的应用程序具有不同的密钥,但同一应用程序在服务器场的所有服务器上具有相同的密钥

机器mey负责加密引擎某些选定功能的内部,包括防伪令牌。不同服务器上的不同密钥会导致您描述的问题

在我的情况下。 此错误发生在我为identity server使用两个或多个实例时

所以, 登录正常,但检查令牌会导致错误。 因为登录是由一个实例完成的,而检查是使用另一个实例完成的

解决此问题的最简单方法是确保您的identity server或API仅使用一个实例。

。 此错误发生在我为identity server使用两个或多个实例时

所以, 登录正常,但检查令牌会导致错误。 因为登录是由一个实例完成的,而检查是使用另一个实例完成的


解决此问题的最简单方法是确保您的identity server或API仅使用一个实例。

您好,我们实际使用的是Azure,有什么方法可以实现这一点吗?谢谢。我相信机器的钥匙应该是一样的。奇怪的是登录工作正常,但是我们在日志中发现了很多异常。。。这些异常可能是由以前从不同机器登录的用户造成的。我,我们实际上使用的是Azure,有没有办法实现这一点?谢谢。我相信机器的钥匙应该是一样的。奇怪的是登录工作正常,但是我们在日志中发现了很多异常。。。这些异常可能是以前从不同计算机登录的用户造成的