Как подключиться к динамику 365 для финансов и эксплуатации пользовательских сервисов с SAML Token PHP - PullRequest
0 голосов
/ 28 января 2020

Так что я искал везде, и я хочу знать, правильное ли мое понимание, и если кто-нибудь знает, как я получаю токен SAML.

Я пытаюсь подключиться к пользовательскому сервису для динамика 365 для финансов и операций. каким-то образом соединение изменило свою soap версию на 1.2, и теперь я нахожу эти строки в wsdl:

<wsp:Policy wsu:Id="CustomBinding_customServiceName_policy">
<wsp:ExactlyOne>
<wsp:All>
<sp:TransportBinding xmlns:sp="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702">
<wsp:Policy>
<sp:TransportToken>
<wsp:Policy>
<sp:HttpsToken/>
</wsp:Policy>
</sp:TransportToken>
<sp:AlgorithmSuite>
<wsp:Policy>
<sp:Basic256/>
</wsp:Policy>
</sp:AlgorithmSuite>
<sp:Layout>
<wsp:Policy>
<sp:Strict/>
</wsp:Policy>
</sp:Layout>
<sp:IncludeTimestamp/>
</wsp:Policy>
</sp:TransportBinding>
<sp:SignedSupportingTokens xmlns:sp="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702">
<wsp:Policy>
<sp:IssuedToken sp:IncludeToken="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/AlwaysToRecipient">
<sp:RequestSecurityTokenTemplate>
<trust:TokenType xmlns:trust="http://docs.oasis-open.org/ws-sx/ws-trust/200512">
http://docs.oasis-open.org/wss/oasis-wss-saml-token-profile-1.1#SAMLV2.0
</trust:TokenType>
<trust:KeyType xmlns:trust="http://docs.oasis-open.org/ws-sx/ws-trust/200512">
http://docs.oasis-open.org/ws-sx/ws-trust/200512/Bearer
</trust:KeyType>
</sp:RequestSecurityTokenTemplate>
<wsp:Policy>
<sp:RequireInternalReference/>
</wsp:Policy>
</sp:IssuedToken>
</wsp:Policy>
</sp:SignedSupportingTokens>
<sp:Wss11 xmlns:sp="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702">
<wsp:Policy/>
</sp:Wss11>
<sp:Trust13 xmlns:sp="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702">
<wsp:Policy>
<sp:MustSupportIssuedTokens/>
<sp:RequireClientEntropy/>
<sp:RequireServerEntropy/>
</wsp:Policy>
</sp:Trust13>
<wsam:Addressing>
<wsp:Policy>
<wsam:AnonymousResponses/>
</wsp:Policy>
</wsam:Addressing>
</wsp:All>
</wsp:ExactlyOne>
</wsp:Policy>

Так что из того, что я понял и искал, кажется, мне нужно изменить способ подключения к сервис. Когда это был SOAP 1.1, я использовал для подключения к https://login.microsoftonline.com/ '. $ AppTenantId.' / Oauth2 / token получить токен, а затем создал клиента soap, и я смогу получить доступ и вызвать мои функции.

Теперь я не могу создать свой soap клиент, и я получаю схему синтаксического анализа: ошибка элемента уже определена, когда я использую PHP soapClient (SOAP 1.2 версия), и когда я CURL, я получаю Invalid ошибка безопасности.

Как получить идентификатор подтверждения SAML и токен? мне нужно использовать CURL вместо SOAPClient? Или токен у меня действительный, мне просто нужно вставить его в конверт soap, если да, то как это сделать?

...