Asp.net 来自不同服务器的令牌导致持续崩溃
我们有一个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]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
Get Account/Login和Post Account/Login都发生在同一台服务器上。确保整个服务器场的机器密钥相同。您应该在应用程序级别进行设置,这意味着不同的应用程序具有不同的密钥,但同一应用程序在服务器场的所有服务器上具有相同的密钥 机器mey负责加密引擎某些选定功能的内部,包括防伪令牌。不同服务器上的不同密钥会导致您描述的问题
确保整个农场都有相同的机器钥匙。您应该在应用程序级别进行设置,这意味着不同的应用程序具有不同的密钥,但同一应用程序在服务器场的所有服务器上具有相同的密钥 机器mey负责加密引擎某些选定功能的内部,包括防伪令牌。不同服务器上的不同密钥会导致您描述的问题 在我的情况下。 此错误发生在我为identity server使用两个或多个实例时 所以, 登录正常,但检查令牌会导致错误。 因为登录是由一个实例完成的,而检查是使用另一个实例完成的 解决此问题的最简单方法是确保您的identity server或API仅使用一个实例。。 此错误发生在我为identity server使用两个或多个实例时 所以, 登录正常,但检查令牌会导致错误。 因为登录是由一个实例完成的,而检查是使用另一个实例完成的
解决此问题的最简单方法是确保您的identity server或API仅使用一个实例。您好,我们实际使用的是Azure,有什么方法可以实现这一点吗?谢谢。我相信机器的钥匙应该是一样的。奇怪的是登录工作正常,但是我们在日志中发现了很多异常。。。这些异常可能是由以前从不同机器登录的用户造成的。我,我们实际上使用的是Azure,有没有办法实现这一点?谢谢。我相信机器的钥匙应该是一样的。奇怪的是登录工作正常,但是我们在日志中发现了很多异常。。。这些异常可能是以前从不同计算机登录的用户造成的