passport-azure-ad, проверка токенов

Этот вопрос связан с passport-azure-ad, он анализирует и проверяет токен?

Я пытался освоить с помощью модуля passport-azure-ad. Я успешно захожу в систему через OpenID Connect, выбираю access_token и использую его непосредственно в моих REST API, которые защищены app.get('myapi',passport.authenticate('oath-bearer', {failureRedirect: '/'}), function(req,res){});

Однако, если я пытаюсь выйти из сеанса, созданного OpenID connect, токен остается в силе до истечения срока его действия (обычно 3600 секунд).

Я использую access_token для защиты моей конечной точки, не размещенной за API-шлюзом в Microsoft, поэтому я думаю, что отзыв access_token не прост.

Есть ли способ проверить, отменен ли access_token, используя passport-azure-ad? Какова лучшая практика?

1 ответ

Согласно описанию в документе Azure:

Направляя пользователя к end_session_endpoint очистит часть состояния единого входа пользователя с помощью Azure AD B2C, не выведет пользователя из сеанса поставщика социальных идентификаторов пользователя (IDP). Если пользователь выберет тот же IDP во время последующего входа в систему, он будет повторно аутентифицирован без ввода своих учетных данных. Если пользователь хочет выйти из вашего приложения B2C, это не обязательно означает, что он хочет полностью выйти из своей учетной записи Facebook. Однако в случае локальных учетных записей сеанс пользователя будет правильно завершен.

Таким образом, вы можете напрямую использовать end_session_endpoint, Вы можете найти его в документе метаданных для b2c_1_sign_in конечная точка политики, например:

https://login.microsoftonline.com/fabrikamb2c.onmicrosoft.com/v2.0/.well-known/openid-configuration?p=b2c_1_sign_in

Как будто вы используете обычное приложение Azure AD в v1, вы также можете найти end_session_endpoint в документе метаданных по адресу, например:

https://login.microsoftonline.com/fabrikamb2c.onmicrosoft.com/.well-known/openid-configuration

Вы можете обратиться к Azure Active Directory B2C: веб-вход с OpenID Connect для получения дополнительной информации.

Любое дальнейшее беспокойство, пожалуйста, не стесняйтесь, дайте мне знать.

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