我在使用缩放到两个实例的应用程序中使用ASP.Net Identity时遇到问题。看来我们在检查密码(检查哈希?)或验证生成的令牌(例如:密码重置)时遇到问题。当应用程序在一个实例上运行时,一切似乎都很好。这很奇怪,因为我读到在Azure云中使用ASP.Net Identity应该是安全的 - 它应该在两个实例上使用相同的机器密钥。
我们的用户管理器使用下面创建的令牌提供程序:
public DataProtectorTokenProvider<ExternalUser> Create(string purpose = "GeneralPurpose")
{
var provider = new DpapiDataProtectionProvider(_appName);
var result = new DataProtectorTokenProvider<ExternalUser>(provider.Create(purpose));
return result;
}
更重要的是,我们的用户经理是单身人士,但我认为这不应该是一个区别。
知道为什么它在Azure中的两个实例上不起作用?我将不胜感激任何帮助或建议。