ВЫПУСК
Я хотел бы иметь возможность установить свойства ( IsPersistent & ExpiresUtc ) для запроса вызова по умолчанию для AzureADавторизоваться.Я не вижу, как это сделать, чтобы пользовательский файл cookie, созданный дольше, чем сеанс браузера (закрытие, а затем повторное открытие браузера).
Прямо сейчас единственный способ, которым я могу установить эти свойства для вызова, состоит в том, чтобы пользователь вручную вошел в систему, отправив им следующее действие.
[HttpGet]
public IActionResult SignIn()
{
return Challenge(
new AuthenticationProperties { RedirectUri = "/", IsPersistent = true, ExpiresUtc = DateTime.UtcNow.AddDays(10) },
OpenIdConnectDefaults.AuthenticationScheme);
}
Я бы скорее принудил пользователяавторизоваться, как только они войдут на сайт, используя следующий код, зарегистрированный в startup.cs
services.AddMvc(options =>
{
var policy = new AuthorizationPolicyBuilder()
.RequireAuthenticatedUser()
.Build();
options.Filters.Add(new AuthorizeFilter(policy));
});
Базовый шаблон, который я использовал для запуска моего проекта, был из следующей команды
dotnet new mvc --auth SingleOrg --client-id <Application (client) ID> --tenant-id <Directory (tenant) ID>
Когда я запустил сайт, он вызовет первый входящий запрос и отправит меня по пути входа в систему и возврата в приложение.Это работает просто отлично с одним исключением.Срок действия файла cookie, отправляемого обратно клиенту, истекает 31 декабря 1969 года.
Затем я выхожу из приложения по стандартной ссылке SignOut
без проблем.
Для входа в систему я мог бы использовать ссылку для входа по умолчанию
<a class="nav-link text-dark"
asp-area="AzureAD"
asp-controller="Account"
asp-action="SignIn">Sign in</a>
или мою пользовательскую ссылку, указывающую на домашний контроллер с кодом действия сверху.
<a class="nav-link text-dark"
asp-area=""
asp-controller="Home"
asp-action="SignIn">Sign in</a>
Если я использую ссылку по умолчанию, я снова прохожу процесс аутентификации, и снова у файла cookie снова указывается дата по умолчанию, но если я нажимаю на свою пользовательскую ссылку, файл cookie возвращается с истечением 10 дней в будущем и длится в течение сеансов браузера.Я хочу, чтобы задание по умолчанию было таким же, как и задание, которое я написал.
Я прочитал различные посты безрезультатно, и мне нужна помощь, пожалуйста.