php-如何将ADFS 2.x SAML令牌发送到Dynamics CRM本地组织数据服务?
作者:互联网
我正在将一个PHP项目与Microsoft Dynamics CRM集成在一起,并成功地将OAuth与Azure AD和ADFS 3.0一起使用来检索访问令牌,然后可以在对Dynamics CRM组织数据OData服务(/ XRMServices / 2011 / OrganizationData)的REST调用中使用它们. svc)的格式:
授权:承载{access_token}
现在,我尝试添加对使用ADFS 2.x(不支持OAuth)的本地Dynamics实例的支持.我知道我可以使用RequestSecurityToken消息从ADFS服务器获得ws-trust令牌或SAML承载令牌.我的问题是检索令牌后,如何在调用Dynamics CRM组织数据OData服务(OrganizationData.svc)时使用该令牌.我知道对于Dynamics CRM组织SOAP Web服务(Organization.svc),我将仅在SOAP调用的标头中包含令牌断言.但是我想在OData REST调用中尽可能使用令牌.
是否可以以某种方式将ADFS SAML令牌包含在HTTP授权标头中,或者为此需要自定义标头.我没有运气找到如何做到这一点的例子.同样,这是从PHP来的,因此我无法访问任何基于.NET的ADAL或CRM库,这些库将其中的大部分内容抽象并简化了.
解决方法:
事实证明,您可以简单地获取RetrieveTokenResponse中返回的断言,并将其作为承载令牌传递给HTTP授权标头,并且SOAP Organization.svc和REST oData OrganizationData.svc都将接受它们.
标签:azure,dynamics-crm,oauth,adfs,php 来源: https://codeday.me/bug/20191119/2033798.html