如何在 Azure 中为 webAPI 和 MVC 网站共享相同的机器密钥

How to share the same machinekey for webAPI and MVC website in Azure

我们在 Azure 中有一个 ASP.Net 4.7 MVC 项目,它使用 Identity 处理用户重置密码。用户单击“忘记密码”,他们会收到一封带有 link 的电子邮件,该电子邮件带有令牌。这适用于 MVC,但不适用于 API。生成令牌的代码在两个应用程序上共享,因此我们认为可能是因为拥有不同的机器密钥。

重置密码的代码是这样的,我觉得还可以:

var userManager = Users.User.GetApplicationUserManager();
var result = userManager.ResetPassword(userId, token, password);
return result.Succeeded;

我查看了 MVC 的 rootweb.config 和 API,它们具有 Azure 提供的不同机器密钥。这可能是问题所在。有没有办法在 Azure 中共享相同的机器密钥以便重置密码有效?

谢谢

我在 web.config 文件中添加了机器密钥,以使两个应用程序具有相同的机器密钥。