ASP.NET Core DataProtection之间的Web应用程序无法使用Azure



我在免费层服务计划上运行的Azure有两个WebApps。在某种情况下,我从WebApp A生成身份重置密码令牌并在WebApp b。

中使用它

在我的startup.cs中,我具有dataProtection设置,如configureservices方法:

services.AddDataProtection().SetApplicationName("appname");

它在本地运行良好,但是当我尝试在这种情况下重置密码时,我会在Azure上收到无效的令牌错误消息。

我正在运行具有身份核心的ASP.NET Core 2.1。此数据策略设置是否有任何Azure限制或与免费层服务计划有关的?

谢谢!

如果要在应用程序之间共享cookieASP.NET CORE ASP.NET应用程序尝试本文https://learn.microsoft.com/en-us/aspnet/core/security/cookie-sharing?view = aspnetcore-2.2.

services.AddDataProtection()
    .PersistKeysToFileSystem(GetKeyRingDirInfo())
    .SetApplicationName("SharedCookieApp");
services.ConfigureApplicationCookie(options => {
    options.Cookie.Name = ".AspNet.SharedCookie";
});`

aps.net(core)在IIS服务器和Azure Web应用程序上的工作方式存在一些差异。虽然这不完全是限制(在这种情况下您会遇到一些错误),但从技术上讲,有些事情不起作用。据我读,您在Web应用程序中没有自己的虚拟服务器,但是有一系列服务器,任何服务器都可以专用于您的任务。这使得某些事情无法正常工作,如果您检测到差异,几乎可以肯定的是。

还要注意,测试它是否仅限于免费层的费用将不到1美元,因此测试它可能比问答更好,只是我不知道免费的API限制层。

最新更新