Я выполнил инструкции из do c https://docs.microsoft.com/en-us/aspnet/core/security/authentication/ws-federation?view=aspnetcore-3.1 для аутентификации ADFS без Identity Framework.
Мое приложение обращается к серверу ADFS и возвращает токен без ошибка, но возвращается на домашнюю страницу, а не на страницу, которая инициировала вызов проверки подлинности. После получения токена при попытке перейти на страницу, требующую авторизации, выполняется еще один вызов сервера ADFS, в ответ отправляется другой токен и снова происходит возврат на домашнюю страницу. Я никогда не могу перейти на внутреннюю страницу.
Нужно ли мне настраивать время обработки токена? После использования ADFS в ASP. NET MVC у меня сложилось впечатление, что исходного вызова было достаточно, а токен сохранялся до закрытия или тайм-аута.
Startup.cs
services.AddAuthentication(sharedOptions =>
{
sharedOptions.DefaultScheme = CookieAuthenticationDefaults.AuthenticationScheme;
sharedOptions.DefaultChallengeScheme = WsFederationDefaults.AuthenticationScheme;
})
.AddWsFederation(options =>
{
options.Wtrealm = Configuration["wsfed:realm"];
options.MetadataAddress = Configuration["wsfed:metadata"];
options.TokenValidationParameters = new TokenValidationParameters()
{
SaveSigninToken = true
};
})
.AddCookie();
Внутренний контроллер
[Authorize]
public class InternalController : Controller
{