Skype для бизнеса Online поддерживается Azure AD 2.0?

Я разработал приложение, которое интегрируется с API Microsoft Graph и использует API Azure 2.0 для аутентификации. Из Microsoft Graph я могу получить пользователей. Теперь я хочу видеть информацию о присутствии для каждого пользователя, и поэтому мне нужно использовать Skype для бизнеса в Интернете.

Я отправляю запрос на:

https://webdir.online.lync.com/autodiscover/autodiscoverservice.svc/root

И пользовательский href:

https://webdir0f.online.lync.com/Autodiscover/AutodiscoverService.svc/root/oauth/user

Затем я получил токен доступа для https://webdir0f.online.lync.com от:

https://login.microsoftonline.com/<mytenant>/oauth2/v2.0/token

И у токена нет заявления о «ролях», что странно. Чем https://webdir0f.online.lync.com/Autodiscover/AutodiscoverService.svc/root/oauth/user возвращает мне 500.

Есть ли способ использовать Azure 2.0 для доступа к Skype For Business Online? Есть ли способ получить информацию о присутствии без входа пользователя в Skype для бизнеса Online?

UPD: я смог получить токен доступа для области https://webdir0f.online.lync.com/Contacts.ReadWrite, используя секрет клиента.


person norekhov    schedule 04.09.2018    source источник
comment
Если сегодня утром вы получаете сообщения об ошибках, это, вероятно, связано с текущим сбоем в Azure, который напрямую влияет на Azure AD. Пожалуйста, проверьте учетную запись AzureSupport в Твиттере, а также панель мониторинга состояния Azure, чтобы получить дополнительные сведения. azure.microsoft.com/en-us/status   -  person David Makogon    schedule 04.09.2018
comment
Спасибо! На самом деле мой вопрос в целом таков: можно ли авторизовать приложение Azure 2.0 для Skype For Business? Похоже, я не могу получить надлежащую заявку на аудит, чтобы продолжить.   -  person norekhov    schedule 04.09.2018


Ответы (2)


Небольшая поправка: вы здесь не «Azure 2.0», а скорее «App v2» Azure Active Directory или, чаще, «конечная точка v2».

Конечная точка v2 имеет несколько хорошо известных ограничения и поддерживаются не все API и функции. API-интерфейсы Skype и Skype для бизнеса не поддерживают конечную точку v2.

Как правило, если это не недавно выпущенный API или не обнаруженный Microsoft Graph, он будет работать только с токенами, выпущенными конечной точкой версии 1.

person Marc LaFleur    schedule 04.09.2018
comment
Ну, да. Azure AD 2.0 (конечная точка v2). К настоящему времени мне удалось получить доступ и пройти весь процесс автообнаружения, предоставляя разрешения Contacts.ReadWrite для каждого прыжка автообнаружения. И, наконец, я получил /applications, так что теперь я думаю, что да, это возможно. Завтра попробую прочитать присутствие. - person norekhov; 04.09.2018
comment
Кстати, если есть другой способ синхронизации присутствия пользователя из SFB с моим сервисным демоном в фоновом режиме, чем вход пользователя в систему, я хотел бы знать об этом. Похоже, Microsoft.Graph здесь не поддерживается. А также доверенное приложение. - person norekhov; 04.09.2018
comment
@norekhov - Можете ли вы объяснить, как - предоставили разрешения с помощью «Contacts.ReadWrite»? - person KamyFC; 15.03.2019

Мне удалось получить доступ к Skype For Business с помощью приложения Azure 2.0. Просто следовал указаниям. Во время автообнаружения вам необходимо установить область действия для следующего пользователя или перенаправить URI следующим образом: https://webdir0f.online.lync.com/Contacts.ReadWrite.

Затем Azure 2.0 понимает, что это uri и область действия Skype для бизнеса, и работает правильно. Хотя по-прежнему API Skype для бизнеса устарел и очень сложен в использовании.

И я не нашел способа получить всю информацию о присутствии других пользователей компании из Sfb API. Похоже, есть смысл подождать, пока Trusted Application API заработает.

Также попытка получить токен приложения не работает.

person norekhov    schedule 06.09.2018
comment
Можете ли вы объяснить, откуда предоставляются разрешения с помощью «Contacts.ReadWrite»? - person KamyFC; 15.03.2019
comment
Точно не помню, извините. Но, как я уже упоминал, вы не можете получить неявную аутентификацию. Только полный OAuth. - person norekhov; 16.03.2019