Azure B2 C Веб-приложение - как выполнить аутентификацию с помощью маркера refre sh после истечения времени жизни сеанса веб-приложения - PullRequest
0 голосов
/ 22 марта 2020

У меня есть веб-приложение, которое требует, чтобы пользователи вводили учетные данные, чтобы получить доступ к graph.com. Я использую политику потока пользователей. Я могу получить id_token и запросить access_token и refresh_token с этим id_token. В целях тестирования я установил следующие настройки времени жизни:

enter image description here

Через 15 минут после входа пользователя я снова перехожу к веб-приложению и пользователя просят повторно ввести учетные данные, но я хотел бы избежать повторного ввода учетных данных (в течение контролируемого времени).

Azure документация говорит, что срок действия файлов cookie истекает в конце окончания сеанса веб-браузера , а время жизни сеанса веб-приложения максимально увеличено до 24 часов, и я хотел бы понять, могу ли я использовать свой refresh_token для переопределите этот 24-часовой лимит для повторной аутентификации.

Могу ли я запросить новый токен refre sh, когда браузер снова укажет на веб-приложение URI, чтобы пользователю не нужно было снова входить в систему? И если это так, я не вижу, где обычно вмешиваться (код веб-приложения? Контроллер?) С этим запросом, и нужно ли мне тогда отправлять уведомление в Azure AD, чтобы сообщить ему, что пользователь аутентифицирован? Я вижу в Fiddler запрос на повторный ввод учетных данных (oauth2 / v2.0 / authorize), поэтому не уверен, какие шаги предпринять, когда.

Спасибо

1 Ответ

1 голос
/ 23 марта 2020

Refre sh токены используются в веб-приложении, когда пользователь взаимодействует с веб-сайтом, но токен доступа истек. Веб-сервер вызовет B2 C, чтобы обновить sh токен доступа.

Файлы cookie используются, когда пользователь явно отправляет веб-приложение в конечную точку / authorize. Это позволяет B2 C осуществлять единый вход для пользователя или запрашивать любое взаимодействие. Это используется для перекрестного применения единого входа или единого входа в поездках, например, «Вход» -> «Редактирование профиля» (запрос на кредит отключен).

На основании этого:

Могу ли я запросить новый refre sh токен, когда браузер снова указывает на URI веб-приложения, чтобы пользователю не нужно было снова входить в систему?

Нет, вы не можете.

Вам необходимо увеличить время существования единого входа для веб-приложения B2 C, чтобы пользователь переходил к веб-приложению после закрытия вкладки ( не браузер), они получают SSO. Так как здесь они достигнут конечной точки / authorize, настройка в игре - это время существования единого входа веб-приложения, ie куки-файлы B2 C.

Возможно, вы захотите посмотреть KMSI если вам нужно более 24 часов, это постоянный повар ie, поэтому закрытие браузера не приведет к выходу пользователя из системы. Это потребует пользовательских политик.

...