Проверка подлинности с использованием Azure AD, при последнем шаге не удается получить доступ к Skype для бизнеса - PullRequest
0 голосов
/ 14 февраля 2019

Я следую этому руководству (https://docs.microsoft.com/en-us/skype-sdk/ucwa/authenticationusingazuread), чтобы получить доступ к Skype для бизнеса. До последней части все идет хорошо, но давайте сделаем шаг за шагом. Я создаю свое консольное приложение .net, чтобы сделать это, но вЧтобы правильно объяснить вам проблему, с которой я столкнулся, я покажу вам прямые вызовы http через Insomnia (программное обеспечение, используемое для выполнения вызовов http).

Шаг 1: ПОЛУЧИТЕ запрос к https://webdir.online.lync.com/autodiscover/autodiscoverservice.svc/root Я нажал 200и в ответ я получаю:

enter image description here

Шаг 2: Я использую ссылку user . Поэтому я отправляю запрос http наhttps://webdir1e.online.lync.com/Autodiscover/AutodiscoverService.svc/root/oauth/user и я получаю 401 Unauthorized (все по-прежнему правильно). В заголовке ответа он указывает мне на провайдера идентификации для запроса авторизации (authorization_uri)

enter image description here

Шаг 3: Я использую эту ссылку для авторизации моего приложения, имеющего собственный client_Id (который я скрываю на следующем снимке экрана). Вот как я сочиняю вызов:

enter image description here

Если я отправлю этот httpзапрос я перенаправлен на страницу, где он запрашивает мой личный логин и, вставив свои учетные данные, я успешно войти в систему и нажать 404, где в ответ я получаю обратно токен доступа .

Шаг 5: Я использую токен доступа к той же ссылке AutodiscoverService, что и на шаге 1. Это для регистрации моего приложения.Я набрал 200 и получил обратно ссылку для доступа к Skype для бизнеса.

enter image description here

Наконец-то (и здесь все идет не так), я отправляю сообщение POSTзапрос к приложениям связи с токеном на предъявителя, и я получаю 403 Forbidden .Я думаю, что правильно следую руководству, но не могу понять, почему я могу получить доступ к ресурсу на последнем шаге.

РЕДАКТИРОВАТЬ:

Разрешения предоставлены.Я скрываю имя, так как оно содержит название моей компании.Но это тот же домен моего логина.

enter image description here

1 Ответ

0 голосов
/ 20 февраля 2019

Таким образом, сгенерированный вами токен разрешает вам доступ к ресурсам на https://webdir1e.online.lync.com, которые вы сделали для получения нового набора ресурсов, включая ресурс «приложения», который находится на РАЗЛИЧНОМ хосте: https://webpooldb41e14.infra.lync.com.

Вам действительно нужно получить еще один токен OAuth, который авторизует вас для ресурса приложения, а затем вы можете выполнить POST для этого, чтобы сгенерировать сеанс в UCWA.

В качестве примечания ... Если вы 'Если вы определили свое собственное приложение с одним арендатором в Azure, которому предоставлены права на SkypeForBusinessOnline, тогда, я думаю, вам следует настроить конечные точки авторизации и аутентификации в форме:

https://login.microsoftonline.com/{tenantID}/oauth2/v2.0/authorize https://login.microsoftonline.com/{tenantID}/oauth2/v2.0/token

Кроме того, я должен добавить, что если вы пытаетесь написать надежного защищенного клиента, который будут использовать пользователи в вашей компании, я бы посоветовал посмотреть поток аутентификации Учетных данных владельца ресурса.Это позволяет вам напрямую обращаться к оконечной точке токена, о которой я упоминал выше, и обменивать учетные данные имени пользователя и пароля на токен доступа.Тогда вы сможете легко управлять автообнаружением и созданием приложений, не перенаправляя их назад и вперед в Azure.

https://docs.microsoft.com/mt-mt/azure/active-directory/develop/v2-oauth-ropc

...