У меня есть приложение node.js / express. Я пытаюсь использовать Microsoft Graph API для получения календарей пользователей [только для чтения].
Библиотека OAuth2 для входа в систему: модуль npm паспорт-microsoft.
Я выполнил следующие шаги на портале Azure:
Перейти в Active Directory
Нажмите "Регистрация приложений" на левой панели.
- Нажмите «Новая регистрация» и создайте приложение.
- Перейти в новое приложение
- Нажмите «Аутентификация» на левой панели и добавьте URI перенаправления.
Перейдите в Разрешения API и включите следующее:
а. Делегированные: Calendars.Read, Calendars.Read.Shared, профиль
- Предоставьте согласие администратора для всех необходимых разрешений.
Однако только пользователи, принадлежащие к моей лазурной организации, в которой я зарегистрировал свое веб-приложение, могут войти в систему.
Пользователи других организаций не могут войти в систему. Я получаю следующее сообщение об ошибке:
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)
Вы можете прочитать мой предыдущий вопрос для справки здесь