У меня есть приложение node.js / express. Я пытаюсь использовать Microsoft Graph API для получения пользовательских календарей [только для чтения].
Библиотека OAuth2 для входа в систему: passport-microsoft модуль npm.
Я выполнил следующие шаги на портале Azure:
Перейдите в Active Directory
Нажмите Регистрация приложений влевая панель
- Нажмите «Новая регистрация» и создайте приложение
- Перейдите в новое приложение
- Нажмите «Аутентификация» на левой панели и добавьте URI перенаправления
Перейти к разрешениям API и включить следующее:
a. Делегированный: Calendars.Read, Calendars.Read.Shared, профиль
- Предоставить согласие администратора для всех разрешений, для которых он требуется.
Однако только пользователи, принадлежащие моемуОрганизация Azure, под которой я зарегистрировала свое веб-приложение, может войти в систему.
Другие пользователи организации не могут войти в систему. Я получаю следующее сообщение об ошибке:
2019-11-11 10:16:35 default[20191109t101750] InternalOAuthError: failed to fetch user profile
2019-11-11 10:16:35 default[20191109t101750] at /srv/node_modules/passport-microsoft/lib/strategy.js:86:29
2019-11-11 10:16:35 default[20191109t101750] at passBackControl (/srv/node_modules/oauth/lib/oauth2.js:132:9)
2019-11-11 10:16:35 default[20191109t101750] at IncomingMessage.<anonymous> (/srv/node_modules/oauth/lib/oauth2.js:157:7)
2019-11-11 10:16:35 default[20191109t101750] at IncomingMessage.emit (events.js:203:15)
2019-11-11 10:16:35 default[20191109t101750] at IncomingMessage.EventEmitter.emit (domain.js:466:23)
2019-11-11 10:16:35 default[20191109t101750] at endReadableNT (_stream_readable.js:1145:12)
2019-11-11 10:16:35 default[20191109t101750] at process._tickCallback (internal/process/next_tick.js:63:19)
Вы можете прочитать мой предыдущий вопрос для справки здесь