Принудительная повторная проверка подлинности с помощью Azure AD - PullRequest
0 голосов
/ 09 мая 2019

Я использую библиотеку passport-ad для своей конечной точки для защиты своей конечной точки. Как я могу убедиться, что токен доступа на предъявителя является новым (например, время выдачи находится в пределах определенного порога?)

Для моего интерфейса, использующего MSAL, какова лучшая практика принудительной повторной аутентификации, когда пользователь пытается получить доступ к конфиденциальной информации?

1 Ответ

1 голос
/ 09 мая 2019

Подсказка - это необязательный параметр, который можно включить во время потока кода авторизации, когда клиент направляет пользователя к конечной точке /authorize. Подсказка диктует тип взаимодействия, который требуется пользователю. В MSAL.NET вы можете выбрать одну из следующих подсказок:

  • SelectAccount -> заставить STS представить диалог выбора учетной записи, содержащий список учетных записей, для которых у пользователя есть сеанс Consent -> заставляет пользователя запрашивать согласие, даже если согласие было предоставлено ранее
  • ForceLogin -> сервис всегда будет запрашивать учетные данные у пользователя, даже если в этом нет необходимости (я думаю, что это тот, который вам нужен, когда вы говорите «принудительная повторная аутентификация»)
  • NoPrompt -> никакое значение приглашения не будет отправлено, и STS определит, какой пользовательский интерфейс отображать пользователю на основе предыдущих сеансов

Например:

https://login.microsoftonline.com/{tenant}/oauth2/v2.0/authorize?
scope=offline_access+openid+profile
&client_id=37efsf6-14a6-44ae-97bc-6eba6916741e
&response_type=code
&redirect_uri=http%3A%2F%2Flocalhost%3A12345
&response_mode=query
&resource=https%3A%2F%2Fservice.contoso.com%2F
&state=12345
&prompt=login

Подробнее здесь .

...