Запрос приложения для Microsoft Graph, в NodeJS - PullRequest
0 голосов
/ 20 апреля 2020

В последнее время я изучал MS Graph API и столкнулся с проблемой. Мой пример использования - я хочу прочитать почту определенного почтового ящика и отправить почту для этого почтового ящика. Почтовый ящик не связан с пользователем и используется в качестве учетной записи службы для электронной почты.

Я нашел 2 возможных потока для входа в этот почтовый ящик. Поток, прошедший проверку подлинности пользователя, и поток приложения (и согласованный с администратором). Для приложения я хочу читать электронные письма в фоновом режиме в приложении NodeJS, без взаимодействия с пользователем.

Когда я смотрю на согласованный пользователем поток, я обнаруживаю, что для того, чтобы он работал, пользователь ДОЛЖЕН Войдите, по крайней мере, один раз, вручную, и согласитесь на некоторые вещи, которые я хочу сделать. Я нашел эту страницу о том, как это работает, и заставил ее работать в моем приложении NodeJS. Проблема заключается в том, что при использовании этого потока я должен войти в систему ПО РУКАМ как минимум один раз после запуска моего приложения NodeJS. После этого я могу использовать токен refre sh, чтобы обновить sh токен доступа, но я не хочу выполнять вход вручную.

Второй вариант, наиболее подходящий для моего приложения NodeJS это поток приложения. Я нашел этот учебник о том, как это сделать, и заставил все это работать. Я получаю токен, и этот токен дает мне доступ к коробке через Graph API.

Но используя поток приложения, я обнаружил, что мне нужно иметь роли (т. Е.): «User.ReadAll, Mail.Read, Mail.Send». Это дает моему приложению права на чтение и отправку почты ДЛЯ ВСЕХ пользователей в учетной записи. Что СЛИШКОМ слишком много для моей ситуации.

Теперь мой вопрос; Могу ли я использовать MS Graph с потоком аутентификации приложения, но без доступа ко всем почтовым ящикам пользователей, только к моей конкретной c учетной записи, которую я хочу прочитать?

Заранее спасибо, Каспар

1 Ответ

0 голосов
/ 20 апреля 2020

Связывая справочную документацию, я увидел, что прочитал самую важную сноску:

Внимание! Администраторы могут настроить политику доступа к приложениям, чтобы ограничить доступ к приложениям указанными c почтовыми ящиками, а не ко всем почтовым ящикам в организации, даже если приложению были предоставлены разрешения для приложений Mail.Read, Mail.ReadWrite, Mail.Send, MailboxSettings.Read или MailboxSettings.ReadWrite.

Так что это возможно с помощью политик доступа к приложению .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...