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





Как вы можете видеть здесь, 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.
Я рекомендую вам много читать по этой теме, прежде чем делать выбор, чтобы убедиться, что вы не попадете в тупик из-за того, что «что-то отсутствует в этой версии» в середине проекта.
В этом примере используются конечные точки v2, но они не используют какую-либо библиотеку аутентификации, реализуя вручную. Это много ручной работы, но учиться полезно.
Благодарю. Я нашел пример фреймворка, который я использую github.com/sunilbandla/vue-msal-sample Ценю вашу помощь.
Я просматривал эту статью docs.microsoft.com/en-us/outlook/rest/javascript-tutorial, и она вызывает следующий API для авторизации - login.microsoftonline.com/common/oauth2/v2.0/authorize? Поскольку он использует V2.0 библиотеки auth - он обеспечит инкрементную аутентификацию? то есть пользователь входит в систему с учетной записью Microsoft, имея только доступ к своему имени и адресу электронной почты, а затем обновляет его до доступа к электронной почте?