Azure B2C - MSAL - очистить токен от браузера на основе полномочий
В моем приложении для реагирования я использую логин и редактирование профиля использования azure b2c с помощью msal loginPopup, передавая разные права доступа.
Когда я вхожу в систему, создается новый токен идентификатора с утверждениями. После входа в систему, когда я редактирую свой профиль с помощью msal loginPopup(права доступа editProfile), я могу изменить профиль и успешно получить новый токен идентификатора с обновленными утверждениями в браузере. Теперь у меня есть 2 токена идентификатора в браузере, один сгенерированный через логин, а другой - через профиль редактирования. Поскольку ключ идентификатора токена в randomValue, есть ли способ удалить токен идентификатора, сгенерированный с помощью входа в систему.
1 ответ
В соответствии с вашим сценарием и настройкой токен идентификатора, сгенерированный как при попытках входа в систему, так и при изменении профиля, в идеале должен быть кэширован, поскольку вы используете метод loginPopup для проверки учетных данных.
Метод loginPopup открывает всплывающее окно с конечной точкой платформы идентификации Microsoft для запроса и проверки учетных данных пользователя. После успешного входа msal.js инициирует поток кода авторизации. На этом этапе код авторизации, защищенный PKCE, отправляется в конечную точку маркера, защищенного CORS, и обменивается на маркеры. Идентификационный токен, токен доступа и токен обновления принимаются вашим приложением и обрабатываются msal.js, а информация, содержащаяся в токенах, кэшируется. Когда вы получаете токен доступа с помощью библиотеки проверки подлинности Microsoft, токен кэшируется. Когда приложению нужен токен, оно должно сначала вызвать метод AcquireTokenSilent, чтобы проверить, находится ли приемлемый токен в кэше. Очистка кеша достигается удалением учетных записей из кеша. Это не удаляет cookie сеанса,который есть в браузере. MSAL поддерживает кэш токенов (или два кеша для конфиденциальных клиентских приложений) и кэширует токен после его получения. Во многих случаях попытка незаметного получения токена приведет к получению другого токена с большим количеством областей на основе токена в кеше. Он также может обновлять токен, когда он приближается к истечению срока действия (поскольку кеш токенов также содержит токен обновления). Пожалуйста, обратитесь к схеме кода авторизации ниже для лучшего понимания: -s приближается к истечению срока действия (поскольку кеш токенов также содержит токен обновления). Пожалуйста, обратитесь к блок-схеме кода авторизации ниже для лучшего понимания: -s приближается к истечению срока действия (поскольку кеш токенов также содержит токен обновления). Пожалуйста, обратитесь к блок-схеме кода авторизации ниже для лучшего понимания: -
Схема протокола аутентификации
Таким образом, вам может потребоваться проверить, включен ли в вашем браузере доступ к кешу или файлам cookie, и если он включен, вам может потребоваться очистить кеш в своем браузере, чтобы токены управлялись соответствующим образом.
Для справки, пожалуйста, найдите приведенные ниже ссылки на документацию: -
https://docs.microsoft.com/en-us/azure/active-directory/develop/msal-net-clear-token-cachehttps://docs.microsoft.com/en-us/azure/active-directory / develop / msal-acqu-cache-tokenshttps://docs.microsoft.com/en-us/azure/active-directory/develop/tutorial-v2-reacthttps://docs.microsoft.com/en-us / лазурный / активный каталог / разработка / v2-oauth2-auth-поток-кода
Спасибо,