Как перезапустить механизм частичного входа в Identity Server 3
всем привет
Резюме:
Наш проект, который мы разрабатываем, использует Identity Server 3 в сочетании с MembershipReboot. У нас есть следующий рабочий процесс входа в систему:
- Страница входа (электронная почта, пароль)
- Некоторые пользовательские службы имеют переопределение
PostAuthenticateLocalAsync
(слой после проверки учетных данных пользователя и перед выдачей файла cookie для входа в систему для IdentityServer), который имеет нашу бизнес-логику и логику проверки. Эта логика перенаправляет пользователя на дополнительную страницу черезAuthenticateResult
и запускает механизм частичного входа (тип аутентификации частичного входа в систему) - После успешного прохождения частичного входа (через
GetPartialLoginResumeUrlAsync
) и другой процесс входа в систему Пользователь получает токен.
Это все хорошая работа, и мы счастливы, но тут возникает проблема, когда нам нужно новое дело.
Вопрос:В нашем новом случае требуется перезапустить процесс входа в систему, но после страницы входа в систему, то есть с момента PostAuthenticateLocalAsync
, Пользователю не требуется повторная авторизация, ввод учетных данных и переход непосредственно к шагу 2. Другими словами, мы хотим снова получить частичный вход. Как мы можем это сделать?
Буду очень признателен за любые советы и помощь. Благодарю.
1 ответ
Возможно, вам стоит заняться реализацией своих собственных ICustomRequestValidator.ValidateAuthorizeRequestAsync
и изучите входящий запрос. Если окажется, что вы хотите пройти повторную аутентификацию, вы можете сделать что-то вроде
return Task.FromResult(new AuthorizeRequestValidationResult
{
IsError = true
});