Почему я получаю запрещенный ответ 403 при вызове этой конечной точки с помощью Angular, используя Microsoft Graph REST API?

#angular #azure-active-directory #microsoft-graph-api #azure-ad-b2c #microsoft-graph-teams

#угловатый #azure-active-directory #microsoft-graph-api #azure-ad-b2c #microsoft-graph-teams

Вопрос:

Основной вопрос

Я работал над интеграцией Microsoft Graph REST API в приложение Angular (версия 10). Я следовал инструкциям, приведенным в следующем руководстве о том, как подключить приложение Angular к Microsoft Graph и выполнить вход пользователя через Azure AD (зарегистрировав приложение в разделе регистрация приложений).

Я следовал руководству на каждом этапе пути, и теперь я решил, что хочу расширить приложение, получая командные чаты, участником которых я являюсь, через HTTP. Я решил создать простой тест, распечатав результаты вызова консоли браузера, но когда я пытаюсь вызвать его, появляется ответ HTTP 403 («Не удалось получить информацию о лицензии для пользователя. Убедитесь, что у пользователя есть действующая лицензия Office365, назначенная ему «.) Я пытался сделать это с учетной записью студента Office 365 и с моей личной учетной записью Microsoft, но я продолжаю получать тот же HTTP-ответ.

Попытки решения

При тестировании в Graph Explorer получен правильный ответ. Я добавил учетную запись учащегося в клиент Azure AD, где личная учетная запись является глобальным администратором.

Я попытался вызвать aquireTokenPopup , aquireTokenSilent и aquireTokenRedirect на скриншоте метода, но безрезультатно (я все еще получаю ответ 403 HTTP Forbidden.) Я также просмотрел документы, перечисленные на docs.microsoft.com , и просмотрел различную документацию для этого ответа 403, но я не смог понять, что могут означать ответы 403 — учетная запись учащегося имеет действительный клиент Office 365, а моя личная учетная запись — нет, и я получаю тот же ответ.

Почему я получаю этот ответ, даже если я дал разрешение во всплывающем окне, а также настроил разрешение для конечной точки в Azure?

Что-то было неправильно настроено?

Я использовал неправильный тип аутентификации? (должен ли я использовать Azure AD B2C?)

Скриншоты

Разрешения Azure

Скриншот консоли браузера

HTTP-скриншот браузера

Скриншот метода

Скриншот метода входа в систему

конфигурация app.module msal

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

1. Пожалуйста, не добавляйте скриншоты. Не подходит для отладки и получения принятого ответа.

2. @Akif «не подходит для отладки и получения принятого ответа»? Не могли бы вы уточнить

3. Как мы можем копировать и вставлять ваши скриншоты, если мы хотим воспроизвести ваши коды и попытаться найти ошибку?

4. Использование jwt.ms чтобы проанализировать ваш токен доступа и предоставить скриншоты.

5. Вы должны использовать рабочую или школьную учетную запись, она не поддерживает личные учетные записи Microsoft! i.stack.imgur.com/p5bk1.png

Ответ №1:

Отправляйте комментарии в качестве ответов:

Вы должны соответствовать следующим двум пунктам:

  1. Вы должны использовать рабочую или школьную учетную запись, она не поддерживает личные учетные записи Microsoft.
  2. У вашей учетной записи должна быть лицензия Office365.

введите описание изображения здесь