Дополнительные разрешения Microsoft Graph API

Могу ли я делать дополнительные разрешения с помощью библиотеки msgraph-sdk-javascript? Например, пользователь входит только с профилем, но позже разрешает доступ к своей учетной записи электронной почты или календарю.

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
0
76
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Как вы можете видеть здесь, Microsoft Graph JavaSciprt SDK не включает библиотеку аутентификации. Это только оболочка более высокого уровня для вызовов и сериализации объектов.

Вы обязаны получить токен доступа и предоставить его библиотеке. Вы можете передать токен следующим образом:

var client = MicrosoftGraph.Client.init({
  authProvider: done => {
    //first parameter takes an error if you can't get an access token
    done(null, "PassInAccessTokenHere");
  }
});

Microsoft проводит важную трансформацию для конечных точек аутентификации и авторизации (v1 vs v2). Одно из основных отличий заключается в том, что v2 поддерживает области (в отличие от ресурсов в v1), которые обеспечивают поддержку дополнительное согласие.

В настоящее время Microsoft поддерживает две библиотеки аутентификации:

  • Adal.js, который нацелен на конечную точку v1 (и не поддерживает добавочное согласие)
  • MSAL.js, предназначенный для конечной точки v2 (и поддерживающий добавочное согласие)

Наконец, v2 имеет набор ограничений с точки зрения поддерживаемых потоков, а также поддерживаемых API.

Я рекомендую вам много читать по этой теме, прежде чем делать выбор, чтобы убедиться, что вы не попадете в тупик из-за того, что «что-то отсутствует в этой версии» в середине проекта.

Я просматривал эту статью docs.microsoft.com/en-us/outlook/rest/javascript-tutorial, и она вызывает следующий API для авторизации - login.microsoftonline.com/common/oauth2/v2.0/authorize? Поскольку он использует V2.0 библиотеки auth - он обеспечит инкрементную аутентификацию? то есть пользователь входит в систему с учетной записью Microsoft, имея только доступ к своему имени и адресу электронной почты, а затем обновляет его до доступа к электронной почте?

user9465677 16.05.2018 19:32

В этом примере используются конечные точки v2, но они не используют какую-либо библиотеку аутентификации, реализуя вручную. Это много ручной работы, но учиться полезно.

baywet 16.05.2018 19:39

Благодарю. Я нашел пример фреймворка, который я использую github.com/sunilbandla/vue-msal-sample Ценю вашу помощь.

user9465677 16.05.2018 19:59

Другие вопросы по теме

AADSTS50011: URL-адрес ответа, указанный в запросе, не соответствует URL-адресам ответа, настроенным для приложения
Как читать мои сообщения из папки «Входящие» или сообщения, отправленные с определенного адреса электронной почты и в течение определенного интервала?
Ошибка при обновлении события с Outlook rest api
Графическая аутентификация через поток учетных данных клиента. Будет ли у моего приложения доступ только к моей учетной записи пользователя или ко всей организации?
Время повторной попытки уведомления Microsoft graph API
Api событий графика Microsoft Outlook: как получить другой часовой пояс?
Ошибка API push-уведомлений Office365: проверка не удалась из-за тела ответа
Я хочу отправить приглашение на встречу с помощью angularjs. Но столкнулся с некоторыми проблемами
HTTP-ответ 401 при попытке подписаться на события Outlook - Java
Получение атрибутов почтового ящика ресурсов API Microsoft Graph