Adal JS - выход только из одного сайта AD - PullRequest
0 голосов
/ 02 мая 2019

Я работаю над SPA, который использует ADAL JS.После вызова adalService.logOut () пользователь правильно перенаправляется на URL-адрес выхода Microsoft oauth, и выход происходит просто отлично.Тем не менее, пользователь вышел из всех сайтов Microsoft 365 и всех других сайтов, использующих ADAL.

Есть ли способ только выйти из системы с этого сайта?

1 Ответ

1 голос
/ 21 мая 2019

К сожалению, библиотека ADAL JS работает так же, как вы описали. Когда вызывается функция выхода из системы, она очищает весь кеш. Согласно вики: https://github.com/AzureAD/azure-activedirectory-library-for-js/wiki/Login-methods#logout

Выход Когда вызывается метод выхода из системы, библиотека очищает кеш приложения в хранилище браузера и отправляет запрос на выход конечная точка выхода экземпляра Azure AD.

authContext.logOut (); Поведение по умолчанию - перенаправить пользователя на window.location.href после выхода из системы. Если значение postLogoutRedirectUri во время настройки пользователь будет перенаправлен на этот URI.

Единственный другой способ выхода из системы вручную. Это было бы, посмотрите сам кеш и удалите информацию, которую вы хотите удалить там. Это каким-то образом «отключит» пользователя, поскольку вы удалили доступ к токену.

В соответствии с конфигурацией вики Auth Context https://github.com/AzureAD/azure-activedirectory-library-for-js/wiki/Config-authentication-context:

cacheLocation - ADAL кэширует токены в хранилище браузера, которое по умолчанию «sessionStorage». Вы можете установить это либо 'localStorage' или 'sessionStorage'.

window.config = {
    clientId: 'g075edef-0efa-453b-997b-de1337c29185',
    cacheLocation: 'localStorage' // Default is sessionStorage
}; Tokens are accessible from JavaScript since ADAL.JS is using HTML5 browser storage. It is recommended to prompt users to login

еще раз для важных операций в вашем приложении. Вы должны также защитить ваш сайт для XSS. Пожалуйста, проверьте статью здесь: https://www.owasp.org/index.php/XSS_(Cross_Site_Scripting)_Prevention_Cheat_Sheet

Вы можете прочитать более подробную информацию о других настраиваемых параметрах здесь.

А для получения дополнительной информации о доступе к локальному хранилищу вы можете прочитать об этом здесь: https://blog.logrocket.com/the-complete-guide-to-using-localstorage-in-javascript-apps-ba44edb53a36

А документ MDN Web для хранения можно найти здесь: https://developer.mozilla.org/en-US/docs/Web/API/Storage

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