Azure AD B2C повторно использует токен предыдущего пользователя после выхода из системы при изменении пользователя

#single-sign-on #azure-ad-b2c #federated-identity #msal.js

#единый вход #azure-ad-b2c #федеративная идентификация #msal.js

Вопрос:

У нас есть приложение, которое использует MSAL.js для аутентификации клиентов в их Azure Active Directory через Active Directory B2C. В будущем мы добавим другие IDP в микс и подключим их к B2C. B2C настраивается с помощью пользовательских политик. Область сеанса единого входа в настоящее время установлена на арендатора. Проблема в том, что когда пользователь выходит из приложения (и мы вызываем MSAL.js выход из системы) Я вижу, что их идентификатор и токены доступа исчезли из локального хранилища браузера, но они по-прежнему входят в свой Azure AD из-за того, что другие приложения используют его. Поэтому при следующем входе в приложение B2C не будет запрашивать у них учетные данные и автоматически регистрировать их, пока у них активен сеанс AAD. Я понимаю, что это разработано для B2C для поддержки единого входа, и мы хотим единого входа. Однако есть ли способ для нового пользователя с другими учетными данными войти в систему заново после того, как предыдущий пользователь выйдет из системы в том же сеансе браузера?

Комментарии:

1. Добавление этого параметра ничего не изменило. Я где-то читал, что это не работает для внешних IDP. И мы входим в Azure AD как внешний IDP через B2C.

Ответ №1:

Установите для параметра запроса значение login . НАПРИМЕР:

GET https://{tenant}.b2clogin.com/{tenant}.onmicrosoft.com/{policy}/oauth2/v2.0/authorize? prompt=login

Или с помощью MSAL.js:

 var request = {
    prompt: 'login',
}

userAgentApplication.loginRedirect(request);
 

Комментарии:

1. Спасибо, я попробую это. Приглашение для входа будет появляться каждый раз, хотя, надеюсь, оно будет предварительно заполнено…

2. Хорошо, это сработало, но мне также пришлось добавить <InputClaim ClaimTypeReferenceId=»prompt» defaultValue=»{OIDC:prompt}» AlwaysUseDefaultValue=»true»/> поставщику утверждений AAD в пользовательских политиках B2C. Изменение MSAL.js одна только просьба ничего не изменила.