Я пытаюсь обмениваться файлами cookie между приложениями, чтобы мне не приходилось постоянно входить в одно приложение и снова входить в другое.
Это запуск, который у меня есть на обоих приложениях
services.AddDbContext<DbContext>(options => options.UseSqlServer(Configuration["DatabaseConfiguration:ConnectionString"]));
services.AddMvc().AddJsonOptions(options =>
{
options.SerializerSettings.ContractResolver
= new Newtonsoft.Json.Serialization.DefaultContractResolver();
});
services.AddIdentity<ApplicationUsers, Roles>()
.AddEntityFrameworkStores<DbContext>()
.AddDefaultTokenProviders();
services.AddScoped<LogsData>();
services.AddScoped<ApplicationUsersData>();
services.AddScoped<CustomClaimsCookieSignInHelper<ApplicationUsers>>();
services.Configure<IdentityOptions>(options =>
{
options.Password.RequireDigit = false;
options.Password.RequireLowercase = false;
options.Password.RequireNonAlphanumeric = true;
options.Password.RequireUppercase = true;
options.Password.RequiredLength = 6;
options.User.AllowedUserNameCharacters =
"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-._@+";
options.User.RequireUniqueEmail = false;
options.SignIn.RequireConfirmedEmail = false;
options.SignIn.RequireConfirmedPhoneNumber = false;
});
services.Configure<CookiePolicyOptions>(options =>
{
// This lambda determines whether user consent for non-essential cookies is needed for a given request.
options.CheckConsentNeeded = context => false;
options.MinimumSameSitePolicy = SameSiteMode.None;
});
services.AddDataProtection()
.PersistKeysToFileSystem(KeyRingConfigurationManager.GetBasePath())
.SetApplicationName("AppName");
services.ConfigureApplicationCookie(options => {
options.Cookie.Name = ".AppName.Shared";
});
services.ConfigureApplicationCookie(options =>
{
// Cookie settings
options.Cookie.HttpOnly = true;
options.ExpireTimeSpan = TimeSpan.FromMinutes(5);
options.LoginPath = "/Identity/Account/Login";
options.AccessDeniedPath = "/Account/AccessDenied";
options.SlidingExpiration = true;
});
services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
Когда я запустил свое приложение, я заметил, что в моей папке Key появляется ключевой xml-файл. Тем не менее, когда я запускаю второе приложение и перехожу к своему авторизованному контроллеру, меня возвращают на страницу входа, означающую, что я не вошел в систему. Что еще мне не хватает?