Вы должны будете использовать неявный поток предоставления вручную.Вы можете просмотреть некоторую базовую документацию здесь: https://docs.microsoft.com/en-us/azure/active-directory/develop/active-directory-authentication-scenarios#single-page-application-spa.
Вы аутентифицируете пользователя, перенаправляя его для входа, например https://login.microsoftonline.com/yourtenant.onmicrosoft.com/oauth2/authorize?client_id=your-client-id&response_type=id_token&redirect_uri=https%3A%2F%2Flocalhost&nonce=abcdef
.
Конечно, вам нужно заменитьзначения с вашими соответствующими значениями.И генерируйте уникальный одноразовый номер для каждого запроса.
Как только пользователь вернется, вам нужно будет извлечь id_token
из фрагмента и декодировать его, чтобы получить информацию о пользователе.Затем вы можете получить токены доступа для API со скрытым iframe с очень похожим URL, как и раньше, но на этот раз с response_type=token&prompt=none&resource=https%3A%2F%2Fgraph.microsoft.com%2F
.Замените ресурс URI / id ресурса, для которого вы хотите токен.Затем вам придется прослушивать изменение URL-адреса iframe и извлекать токен доступа из его фрагмента, когда он успешно возвращается (или анализировать ошибку в случае сбоя аутентификации).
ADAL.JS скрывает многое из этогосложности от вас, поэтому я настоятельно рекомендую использовать его, если это возможно.