Токен Azure Active Directory - PullRequest
       6

Токен Azure Active Directory

0 голосов
/ 23 января 2019

Я новичок в использовании аутентификации Azure Active Directory с веб-API. Прямо сейчас страница входа в мое одностраничное приложение просто направляет пользователя на страницу входа Microsoft, где они вводят свои учетные данные и затем перенаправляются обратно в мой SPA. После перенаправления токен доступа теперь является частью URL. Можно ли получить этот токен через JSON, а не через часть URL? Это угроза безопасности, делающая токен видимым для пользователя? Если нет другого способа получить токен, каков наилучший способ его обработки? Должен ли я прочитать URL-адрес и извлечь токен, а затем снова перенаправить пользователя на реальный веб-сайт?

Ответы [ 2 ]

0 голосов
/ 24 января 2019

Вы можете использовать библиотеку ADAL.js для получения токена.Существует предварительно определенная функция, которую нужно вызывать после аутентификации Ad или в начале проверки, если вы вошли в систему, вы можете использовать функцию isauthenticated, чтобы проверить, если вы уже вошли в систему, и использовать функцию getaccesstoken, чтобы получить токен после аутентификации..

0 голосов
/ 24 января 2019

Вы должны быть внимательны в неявном потоке, токен все еще будет храниться на клиентском сайте (обычно локальное хранилище). Таким образом, даже если вы скрываете токен от URL, вы все равно будете хранить его на стороне клиента, и это одна из вещей, которыми вы должны управлять в SPA. Вам нужно будет отправлять токен с каждым HTTP-запросом к вашему веб-API, чтобы аутентифицировать его с этой стороны.

В неявном потоке токены являются шортлайвами, и вы не можете выдать токен обновления для более длительного периода доступа. Для этого типа потока вам нужно использовать официальную библиотеку (ADAL.js)

https://github.com/AzureAD/azure-activedirectory-library-for-js

Дополнительные ресурсы

https://docs.microsoft.com/en-us/azure/active-directory/develop/v2-oauth2-implicit-grant-flow

...