Ответ 1
Параметры аутентификации содержат свойство Provider
. Вы можете установить это для поставщика по умолчанию и использовать один из переопределений метода, например OnResponseSignIn
, чтобы изменить настройки входа, или вы можете реализовать свой собственный ICookieAuthenticationProvider
и сделать то же самое.
app.UseCookieAuthentication(new CookieAuthenticationOptions
{
Provider = new CookieAuthenticationProvider
{
OnResponseSignIn = signInContext =>
{
var expireTimeSpan = TimeSpan.FromMinutes(15);
if (signInContext.Properties.Dictionary["organization"] == "org-1")
{
expireTimeSpan = TimeSpan.FromMinutes(45);
}
signInContext.Properties.ExpiresUtc = DateTime.UtcNow.Add(expireTimeSpan);
}
}
});
Вы можете либо проверить входящую заявку, чтобы посмотреть, как следует обрабатывать сеанс, либо добавить пользовательские данные в свой телефонный звонок.
context.Authentication.SignIn(new AuthenticationProperties
{
Dictionary =
{
{ "organization", "org-3" }
}
}, new ClaimsIdentity());
Вы даже можете установить ExpiresUtc
во входной вызов, если хотите, хотя лучше всего оставить эту логику в поставщике проверки подлинности, чтобы упростить управление.