Я новичок в ADFS и пытаюсь разработать одно демонстрационное приложение (. Net Core 2.1), где пользователь нажимает кнопку входа в систему и перенаправляет на страницу входа ADFS, вводит свои учетные данные и отвечает на URL-адрес обратного вызова. .
Я настроил доверие проверяющей стороны на сервере ASFS, выполнив шаги на https://docs.microsoft.com/en-us/aspnet/core/security/authentication/ws-federation?view=aspnetcore-2.1
Я использую WSFederation для аутентификации ADFS. При запуске я настроил аутентификацию следующим образом:
services.
AddAuthentication(sharedOptions =>
{
sharedOptions.DefaultScheme = CookieAuthenticationDefaults.AuthenticationScheme;
sharedOptions.DefaultSignInScheme = CookieAuthenticationDefaults.AuthenticationScheme;
})
.AddCookie()
.AddWsFederation(WsFederationDefaults.AuthenticationScheme, options =>
{
options.MetadataAddress = MetadataAddress;
options.Wtrealm = Wtrealm;
options.Wreply = Wreply;
options.SignOutWreply = SignOutWreply;
});
При нажатии кнопки входа в систему я хочу, чтобы пользователь перенаправлял на страницу входа ADFS,
public IActionResult Login()
{
string callbackUrl = Url.Action(nameof(AccountController.AzureADLogin), "Account", new { }, protocol: HttpContext.Request.Scheme);
string authenticationScheme = WsFederationDefaults.AuthenticationScheme;
return Challenge(new AuthenticationProperties { RedirectUri = callbackUrl }, authenticationScheme);
}
Когда я нажимаю на кнопке входа я перенаправлен на функцию обратного вызова без аутентификации. Я не могу быть перенаправлен на страницу входа ADFS.
У кого-нибудь есть идеи по этому поводу?