2016-07-07 4 views
0

Я пытаюсь использовать ucwa путем аутентификации пользователей с помощью Azure ID. Я пытался следовать этим информация: Authentication using Azure ADТок UAWA OAuth недействителен при создании приложения

Некоторые шаги не работали Верри хорошо, но мне удалось получить ссылку на приложение Ressource после повторной отправки запроса автообнаружения с маркером на предъявителя.

Тонер-носитель работает, когда я отправляю запрос на получение https://webdir1e.online.lync.com/autodiscover/autodiscoverservice.svc/root/oauth/user. Так я получаю ответ, как этот:

HTTP/1.1 200 OK { "_links":{ "self":{"href":"https://webdirX.online.lync.com/Autodiscover/AutodiscoverService.svc/root/user"}, "applications":{"href":"https://webpoolXY.infra.lync.com/ucwa/oauth/v1/applications"} } }

Так что я пытаюсь сделать запрос пост, как этот:

POST https://webpoolXY.infra.lync.com/ucwa/oauth/v1/applications HTTP/1.1 Accept: application/json Content-Type: application/json Authorization: Bearer <access-token> ... { "UserAgent":"UCWA Samples", "EndpointId":"a917c6f4-976c-4cf3-847d-cdfffa28ccdf", "Culture":"en-US", }

Но у меня есть 403 Forbidden ответ, с X-Ms-diagnostics:28055;source="DB41E07FES15.infra.lync.com";reason="The OAuth token is invalid.";faultcode="wsse:FailedAuthentication"

Для этого запроса я использую тот же токен-маркер-носитель. Должен ли я получить новый токен?

ответ

0

Да, вам нужно будет получить новый токен, чтобы получить доступ к ресурсу приложений, прежде чем вы сможете успешно выполнить POST.

В вашем примере передайте https://webpoolXY.infra.lync.com/ в качестве ресурса для Azure AD и используйте полученный токен для выполнения вашего запроса POST.

Я создал C#-based sample application, который выполняет автообнаружение UCWA, а также создание приложений, создание/список/удаление и управление присутствиями, на которые вы можете взглянуть как ссылку.

+0

Хорошо, спасибо за образец и ответ. Теперь я пытаюсь использовать новый токен-носитель, но получаю этот ответ: {«code»: «UnsupportedMediaType», «message»: «Режим связи вы/re пытается использовать isn/t, поддерживаемый этим человеком или собранием. "} – Lemni

+0

Возможно, вы заметили это в моем коде, но для вызовов ресурсов приложения необходимо, чтобы в заголовках accept было установлено приложение/json. Например: httpClient.DefaultRequestHeaders.Accept.Add (новый MediaTypeWithQualityHeaderValue ("application/json")) –

+0

Я попытался с заголовками «accept» и «content-type», установленными в «application/json», но я все равно получаю тот же Ошибка. – Lemni