Перенаправить MVC Action на страницу входа на Identity Server 4 вручную - PullRequest
1 голос
/ 11 апреля 2019

Я установил Identity Server4, который работает нормально. Я использую приложение Asp.Net Core MVC в качестве клиентского приложения. У меня есть действие при входе в систему, и когда пользователь нажимает кнопку, я хочу перенаправить на страницу входа на сервер идентификации, но я не знаю, как это сделать:

public IActionResult Login()
{
   return <Redirect to identity server4 login page??? How to do?>
}

Если я добавляю аннотацию с Авторизованным, она делает это автоматически:

[Authorized]
public IActionResult Login()
  => Work fine, it redirect to identity server login page with lots of information passed by url

Как это сделать вручную?

1 Ответ

2 голосов
/ 11 апреля 2019

Вы можете вернуть ChallengeResult из действия, используя Challenge:

public IActionResult Login() =>
    Challenge(new AuthenticationProperties
    {
        RedirectUri = "/"
    });

Это вызов с использованием схемы вызова по умолчанию, котораяв вашем примере уже настроен, учитывая, что атрибут [Authorize] дает желаемый результат - он также демонстрирует, как установить RedirectUri.

Вот ответ, объясняющий, что он означает для вызов : Что означает термин "вызов"? .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...