Как отправить токен ADFS 2.x SAML в службу данных локальной организации Dynamics CRM?

Я интегрирую проект PHP с Microsoft Dynamics CRM и успешно использую OAuth с Azure AD и ADFS 3.0 для получения маркеров доступа, которые я затем могу использовать в своих вызовах REST для службы OData данных Dynamics CRM Organization (/ XRMServices / 2011 / OrganizationData. свк) в формате:

Authorization: Bearer {access_token}

Теперь я пытаюсь добавить поддержку локальных экземпляров Dynamics, которые используют ADFS 2.x, где OAuth не поддерживается. Я знаю, что могу получить токен ws-trust или токен-носитель SAML с сервера ADFS, используя сообщение RequestSecurityToken. У меня вопрос после получения токена, как я могу использовать этот токен при вызовах службы OData Data Dynamics организации CRM (OrganizationData.svc). Я знаю, что для веб-служб SOAP Dynamics CRM Organization (Organization.svc) я просто включил бы утверждения токенов в заголовок моих вызовов SOAP. Но я хочу использовать токен, если это возможно, для моих вызовов OData REST.

Может ли токен ADFS SAML быть каким-либо образом включен в заголовок HTTP-авторизации или для этого необходим специальный заголовок. Мне не повезло найти пример того, как это сделать. Опять же, это из PHP, поэтому у меня нет доступа ни к одной из библиотек ADAL или CRM на основе .NET, которые абстрагируют большую часть этого и упрощают его.

2

Решение

Оказывается, что вы можете просто взять Утверждение, возвращенное в RetrieveTokenResponse, и передать его в качестве токена-носителя в заголовке HTTP-авторизации, и SOAP Organization.svc и REST oData OrganizationData.svc примут их.

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]