Как перезапустить механизм частичного входа в Identity Server 3

всем привет

Резюме:

Наш проект, который мы разрабатываем, использует Identity Server 3 в сочетании с MembershipReboot. У нас есть следующий рабочий процесс входа в систему:

  1. Страница входа (электронная почта, пароль)
  2. Некоторые пользовательские службы имеют переопределение PostAuthenticateLocalAsync (слой после проверки учетных данных пользователя и перед выдачей файла cookie для входа в систему для IdentityServer), который имеет нашу бизнес-логику и логику проверки. Эта логика перенаправляет пользователя на дополнительную страницу через AuthenticateResult и запускает механизм частичного входа (тип аутентификации частичного входа в систему)
  3. После успешного прохождения частичного входа (через GetPartialLoginResumeUrlAsync) и другой процесс входа в систему Пользователь получает токен.

Это все хорошая работа, и мы счастливы, но тут возникает проблема, когда нам нужно новое дело.

Вопрос:

В нашем новом случае требуется перезапустить процесс входа в систему, но после страницы входа в систему, то есть с момента PostAuthenticateLocalAsync, Пользователю не требуется повторная авторизация, ввод учетных данных и переход непосредственно к шагу 2. Другими словами, мы хотим снова получить частичный вход. Как мы можем это сделать?

Буду очень признателен за любые советы и помощь. Благодарю.

1 ответ

Возможно, вам стоит заняться реализацией своих собственных ICustomRequestValidator.ValidateAuthorizeRequestAsync и изучите входящий запрос. Если окажется, что вы хотите пройти повторную аутентификацию, вы можете сделать что-то вроде return Task.FromResult(new AuthorizeRequestValidationResult { IsError = true });

Другие вопросы по тегам