
[英]C# Asp.Net Core Use Redis for IDistributedMemoryCache and DataProtection
[英]Asp.Net Core DataProtection between Web Apps not working on Azure
我在Azure上有两个运行在免费套餐服务计划上的WebApp。 在某种情况下,我从WebApp A生成一个身份重置密码令牌,并在WebApp B中使用它。
在我的Startup.cs中,我在ConfigureServices方法中有如下的DataProtection设置:
services.AddDataProtection().SetApplicationName("appname");
它在本地运行正常,但是当我尝试在这种情况下重置密码时,我在Azure上收到无效令牌错误消息。
我正在使用Identity Core运行ASP.NET Core 2.1。 此DataProtection设置是否存在Azure限制或与免费套餐服务计划有关?
谢谢!
APS.NET(Core)在IIS服务器和Azure Web Apps上的工作方式存在一些差异。 虽然它不完全是限制(在这种情况下你会得到一些错误),但有些东西在技术上是行不通的。 据我所知,您在Web Apps中没有自己的虚拟服务器,而是有一个服务器池,任何时候任何服务器都可以专用于您的任务。 这使得一些事情不能正常工作,如果你发现差异,几乎可以肯定是由于这一点。
另外值得注意的是,测试它是否仅限于免费套餐将花费你不到1美元,所以测试它可能比询问它更好,只是我不知道免费套餐的任何API限制。
如果你想在应用程序ASP.Net核心ASP.net应用程序之间共享cookie,请试试这篇文章https: //docs.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";
});`
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.