Я нашел решение!
Я должен был сделать 2-х осевой вызов:
- один для получения токена (с POST)
- один для использования токена в моем запросе графа Microsoft (с GET)
Мне пришлось зарегистрировать свое приложение здесь https://portal.azure.com/#home, чтобы получить идентификатор клиента и секрет.
После того, как мне нужно было отправить сообщение POST в конечную точку проверки подлинности Active Directory Azure со следующими параметрами тела:
- grant_type : поток, который мы хотим использовать, client_credentials в моем случае.
- client_id : идентификатор клиента (идентификатор приложения) приложения I
создано на этапе регистрации;
- client_secret : Секрет клиента, который я создал при регистрации
шаг;
- resource : имя ресурса, к которому я хотел бы получить доступ,
https://graph.microsoft.com в этом случае.
Итак, я создал один компонент со следующим POST-запросом axios:
Примечание
значение resource необходимо немного изменить, чтобы оно работало:
* * Тысяча сорок-девять% 3A HTTPS% 2F% 2F% 2Fgraph.microsoft.com
Мне пришлось поставить строку 'https://cors -anywhere.herokuapp.com ' перед URL-адресом micorsoftonline, потому что в противном случае приложение сгенерировало
"заблокировано политикой CORS: в запрошенном ресурсе отсутствует заголовок 'Access-Control-Allow-Origin'."
(Я не знаю почему, я все еще работаю над этим, потому что размещение этой строки не является оптимальным решением).
В компоненте EventList мне больше не нужны hellojs, поэтому я просто использую токен, сгенерированный для доступа. Мне пришлось немного изменить запрос графа Microsoft:
Я надеюсь, что мое решение может быть полезным и для других пользователей