МЫ пользуемся приложением dotnet core 2.2 mvc. Мы можем войти в приложение. но после входа в систему дальнейший вызов для авторизации конечной точки не удался. Мне это как-то удалось, но он не усваивается.
После входа в систему я смог вызвать конечную точку авторизации, используя приведенный ниже код.
services.AddSession(options =>
{
options.IdleTimeout =
TimeSpan.FromMinutes(
Convert.ToDouble(systemParamsCollection[Constants.FederationSessionTimeOut]));
options.Cookie.IsEssential = true;
options.Cookie.SameSite = Microsoft.AspNetCore.Http.SameSiteMode.None;
options.Cookie.Path = "/";
});
services.AddAuthentication(action =>
{
action.DefaultSignInScheme = "Cookies";
})
.AddCookie("Cookies", options =>
{
options.Cookie.Name = ".netcorepersistent";
options.Cookie.SameSite = Microsoft.AspNetCore.Http.SameSiteMode.None;
options.DataProtectionProvider = DataProtectionProvider.Create("federationapp");
options.DataProtectionProvider.CreateProtector("federationapp");
options.Cookie.Path = "/";
options.Cookie.IsEssential = true;
options.Cookie.SecurePolicy = Microsoft.AspNetCore.Http.CookieSecurePolicy.None;
options.Cookie.Expiration = TimeSpan.FromMinutes(
Convert.ToDouble(
systemParamsCollection[nameof(JwtTokenVerificationParameterModel.ValidFor)]));
options.ExpireTimeSpan =
TimeSpan.FromMinutes(
Convert.ToDouble(
systemParamsCollection[nameof(JwtTokenVerificationParameterModel.ValidFor)]));
options.Validate();
options.LoginPath = Constants.url1 + Constants.protocol + "Auth/actionName";
options.Events = new CustomCookieAuthenticationEvents(
saml2RequestHelper, metadataLoader, relyingPartyService, ilogger, config);
});
Используя указанный выше код, мне удалось найти cookie в браузере с именем .netcorepersistent.
Поскольку я изменил код, как показано ниже:
services.AddSession(options =>
{
options.IdleTimeout =
TimeSpan.FromMinutes(
Convert.ToDouble(systemParamsCollection[Constants.FederationSessionTimeOut]));
options.Cookie.IsEssential = true;
options.Cookie.SameSite = Microsoft.AspNetCore.Http.SameSiteMode.None;
options.Cookie.Path = "/";
});
services.AddAuthentication(action =>
{
action.DefaultSignInScheme = Constants.AuthenticationSchemeTypes.Cookies;
action.DefaultAuthenticateScheme = Constants.AuthenticationSchemeTypes.Cookies;
})
.AddCookie("Cookies", options =>
{
options.Cookie.Name = ".netcorepersistent";
options.Cookie.SameSite = Microsoft.AspNetCore.Http.SameSiteMode.None;
options.DataProtectionProvider = DataProtectionProvider.Create("federationapp");
options.DataProtectionProvider.CreateProtector("federationapp");
options.Cookie.Path = "/";
options.Cookie.IsEssential = true;
options.Cookie.SecurePolicy = Microsoft.AspNetCore.Http.CookieSecurePolicy.None;
options.Cookie.Expiration = TimeSpan.FromMinutes(
Convert.ToDouble(
systemParamsCollection[nameof(JwtTokenVerificationParameterModel.ValidFor)]));
options.ExpireTimeSpan =
TimeSpan.FromMinutes(
Convert.ToDouble(
systemParamsCollection[nameof(JwtTokenVerificationParameterModel.ValidFor)]));
options.Validate();
options.LoginPath = Constants.url1 + Constants.Protocol + "Auth/actionname";
options.Events = new CustomCookieAuthenticationEvents(
saml2RequestHelper, metadataLoader, relyingPartyService, ilogger, config);
});
При использовании этого кода в браузере отсутствует файл cookie с именем .netcorepersistent.
Не могли бы вы сообщить мне об этомв чем основная причина? Еще раз спасибо ..