Совместное использование Cooki между двумя приложениями ASP.NET Core - PullRequest
2 голосов
/ 07 мая 2019

У меня есть вопрос относительно совместного использования файлов cookie между несколькими приложениями ASP.NET Core и Entity Framework. У меня есть два доминируют
www.servic2.com
www.servic1.com
Я устанавливаю cooki на servic1, но нужно cooki на servic2 Я не могу заставить аутентификацию сохраняться в обоих У меня есть файл startup.cs, настроенный следующим образом

 .AddAuthentication(options =>
             {
                 options.DefaultChallengeScheme = CookieAuthenticationDefaults.AuthenticationScheme;
                 options.DefaultSignInScheme = CookieAuthenticationDefaults.AuthenticationScheme;
                 options.DefaultAuthenticateScheme = CookieAuthenticationDefaults.AuthenticationScheme;
             })
                  .AddCookie(options =>
                  {
                      options.SlidingExpiration = true;
                      options.LoginPath = "/Login";
                      options.LogoutPath = "/Logout";
                      //options.AccessDeniedPath = new PathString("/Home/Forbidden/");
                      //options.Cookie.Name = ".my.app1.cookie";
                      options.Cookie.HttpOnly = true;
                      options.Cookie.SecurePolicy = CookieSecurePolicy.SameAsRequest;
                      //Indicates whether the browser should allow the cookie to be attached to same-site requests only (SameSiteMode.Strict) or cross-site requests using safe HTTP methods and same-site requests (SameSiteMode.Lax). 
                      options.Cookie.SameSite = SameSiteMode.Lax;
                      options.Events = new CookieAuthenticationEvents
                      {
                          OnValidatePrincipal = context =>
                          {
                              var cookieValidatorService = context.HttpContext.RequestServices.GetRequiredService<ICookieValidatorService>();
                              return cookieValidatorService.ValidateAsync(context);
                          }
                      };
                  });
...