Невозможно получить токен с рабочей учетной записью для команд OnlineMeeting API на платформе MS Graph - PullRequest
0 голосов
/ 02 апреля 2020

Бизнес-требование: Мы хотим заменить наш URL-адрес собрания Skype на собрание Команд в нашей производственной системе (в рамках службы демона ABAP без интеграции с пользователем). Поэтому я пытаюсь интегрироваться с командами, используя Microsoft Graph API, чтобы иметь возможность генерировать одну онлайн-встречи. Затем этот URL-адрес онлайн-встречи будет отправлен нашему клиенту по электронной почте.

API Target Graph : для версии MS Graph API V1.0, я думаю, это только в одном варианте Создать onlineMeeting . (API Graph с версией / beta не подходит для использования в рабочей среде). Согласно документации MS Graph V1.0 Create onlineMeeting , этот API поддерживает только разрешения с типом делегата. Я думаю, что мы могли бы использовать только поток аутентификации имени пользователя / пароля . Поправьте меня, если я ошибаюсь.

Проблемы : Я пытаюсь получить токен с пользователем и паролем, как описано для ROP C Платформа идентификации Microsoft и OAuth 2.0 Resource Учетные данные для пароля владельца , используйте следующий API для проверки его с моей корпоративной почтой.

POST /{{TennatId}}/oauth2/v2.0/token HTTP/1.1
Host: login.microsoftonline.com
Content-Type: application/x-www-form-urlencoded
SdkVersion: postman-graph/v1.0
Content-Type: application/x-www-form-urlencoded

grant_type=password&client_id={{ClientId}}&client_secret={{ClientSecret}}&scope=https://graph.microsoft.com/onlineMeetings.ReadWrite&userName=MyCorporateMail@org.com&password=MyPassword

Но он всегда будет получать invalid_grant ответ: AADSTS50126: Ошибка при проверке учетных данных из-за неверного имени пользователя или пароля. Я не знаю, почему он не может получить ответ токена с моей корпоративной (рабочей) почтой / учетной записью **@sap.com, я уверен, что мой пароль и другие параметры верны.

И если я использую нового тестового пользователя sapse@wardsap.onmicrosoft.com, созданного Azure Active Directory, я получу токен успешно. Этому пользователю не требуется двухэтапная аутентификация при входе в систему Azure. Но у этого пользователя есть лицензия Teams / OnlineMeeting, поэтому он не может сгенерировать onlineMeeting.

Мой вопрос :

  1. Возможно ли это вызвано Конфигурация MFA из моей организации? Поскольку я заметил, что каждый раз, когда я вхожу в систему https://aad.portal.azure.com/, он проходит второй этап аутентификации, проверьте это с помощью моего телефонного сообщения. Если да, можно ли будет навсегда отключить MFA для какой-либо учетной записи test / dev? Где мы должны это настроить? В MS Azure или где-то еще? От кого я должен получить поддержку?

  2. Для этого Создать onlineMeeting API, есть ли у нас другой поток аутентификации для этого типа полномочий делегата для серверной службы демона?

Благодарность и наилучшие пожелания, Уорд

1 Ответ

1 голос
/ 02 апреля 2020

MFA определенно помешает вам использовать этот поток аутентификации. Поток учетных данных пароля владельца ресурса и его использование не приветствуются. Существует множество потоков, которые являются более безопасными, и обычно вы можете использовать такие, как поток кода авторизации, для достижения того, чего вы хотите.

MFA настроен вашей организацией, вам необходимо связаться с ИТ-специалистом по этому поводу. Но я бы не рекомендовал отключать MFA для этого.

Внутреннему приложению-демону необходимо либо использовать разрешения приложения, либо токен refre sh. Если рассматриваемый API не поддерживает разрешения приложения, вы можете получить токен refre sh для пользователя через поток кода авторизации, надежно сохранить его и использовать всякий раз, когда вам нужен новый токен. Если вы сделаете это, обязательно перезапишите старый токен refre sh новым, который вы получите при запросе токена доступа.

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