oidc-client-js повторная аутентификация для конфиденциальных данных - PullRequest
0 голосов
/ 19 декабря 2018

Я использую библиотеку oidc-client-js для обработки аутентификации в стиле SSO с перенаправлением OIDC на основе нашей реализации IdentityServer4 из углового приложения.IdToken / Cookie в приложении хорош в течение 1+ дней.Срок действия маркера доступа короче и обновляется без вывода сообщений.В некоторых случаях приложение может быть запущено и работать без необходимости повторного входа пользователя, что нам и нужно, но в приложении могут быть определенные области, в которых мы хотели бы проверить личность пользователя из-за конфиденциальных данных.

Я вижу, что выполнение этого с помощью простого повторного запроса приложением пароля и выполнения проверки пароля в стиле гранта ResourceOwner еще не поддерживается библиотекой.Я не возражаю против использования существующего popUpRedirect с настройкой быстрого запроса для принудительного входа в систему.Я застрял в том, что нигде (по крайней мере, не задокументирован) не вижу, где произошла отметка времени последнего входа пользователя.Ex.Если пользователь вошел в систему в течение последних 5 минут, доступ к конфиденциальным данным в порядке.

Прежде чем все перезвонят, я не ищу метку времени доступа или срок действия.Наши токены доступа обновляются без вмешательства пользователя, так что это не помогает.Я ищу метку времени на IdToken?Библиотека разоблачает это?Или я иду по этому процессу совсем не так?Заранее спасибо.

1 Ответ

0 голосов
/ 19 декабря 2018

Заявка auth_time - это то, что вам нужно проверить, когда интерактивная аутентификация в последний раз имела место.Он присутствует как в id_token, так и в access_token, и поэтому клиенту должно быть достаточно легко проверить, достаточно ли он недавний (и, если нет, инициировать запрос prompt = login) и утверждать, что он достаточно недавний в чувствительных бэкэнд-API..

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