Аутентификация графа с помощью потока учетных данных клиента. Будет ли мое приложение иметь доступ только к моей учетной записи пользователя или ко всей организации? - PullRequest
0 голосов
/ 10 мая 2018

У меня есть скрипт-демон, который должен получить доступ к моей папке входящих сообщений Office 365 для чтения сообщений. В настоящее время я использую базовую аутентификацию с V1.0 Outlook Rest API, которая работает хорошо, но так как она больше не поддерживается, я надеюсь перейти к Graph API и OAuth 2.0 аутентификации. Поток учетных данных клиента, как описано здесь , кажется наилучшим вариантом для сценария демона, однако я запутался в объеме разрешений, которые будет иметь приложение. В статье, на которую я ссылался выше, создается впечатление, что приложение будет иметь доступ ко всей организации, но мне нужен только сценарий для доступа к моей учетной записи. Я не хочу, чтобы мое приложение имело доступ к учетным записям других пользователей, и я не думаю, что наш I.T. Департамент позволил бы это либо.

Итак, какова область разрешения приложения при использовании аутентификации по клиентским учетным данным? Если ответ «вся организация», то есть ли способ ограничить разрешения только мой аккаунт? Если нет, каковы мои другие варианты?

Редактировать: Подобный вопрос был задан здесь , но не получил никаких ответов.

1 Ответ

0 голосов
/ 10 мая 2018

Это правильно.Если вы используете учетные данные клиента, вы по определению используете области приложения.Эти токены не имеют «пользовательского» контекста и, следовательно, являются разрешениями для всего арендатора.Именно поэтому области применения всегда требуют согласия администратора, прежде чем их можно будет использовать.

Из документации :

Mail.Read (чтение почты во всех почтовых ящиках)

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

Если это только для вашего почтового ящика, а не для того, что вы развертываете для других, вы можете использовать код авторизации с областью действия offline_access, чтобы получить как access_token, так и refresh_token,

После того, как вы «сеяли» свое приложение токеном, приложение может использовать refresh_token для получения нового access_token по истечении срока его действия.Иногда вам может понадобиться повторно заполнить ваше приложение / службу (например, если ваш пароль изменился), но в противном случае оно должно работать без взаимодействия.

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