首页 文章

如何将ADFS 2.x SAML令牌发送到Dynamics CRM内部部署组织数据服务?

提问于
浏览
2

我正在将PHP项目与Microsoft Dynamics CRM集成,并成功使用OAuth与Azure AD和ADFS 3.0来检索访问令牌,然后我可以在我的REST调用中使用Dynamics CRM组织数据OData服务(/ XRMServices / 2011 / OrganizationData) . svc)格式:

Authorization: Bearer {access_token}

现在,我尝试添加对使用ADFS 2.x的本地Dynamics实例的支持,其中不支持OAuth . 我知道我可以使用RequestSecurityToken消息从ADFS服务器获取ws-trust令牌或SAML承载令牌 . 我的问题是在检索令牌后,如何在调用Dynamics CRM组织数据OData服务(OrganizationData.svc)时使用该令牌 . 我知道对于Dynamics CRM组织SOAP Web服务(Organization.svc),我只需在SOAP调用的标头中包含令牌断言 . 但是如果可能的话,我想在我的OData REST调用中使用令牌 .

ADFS SAML令牌是否可以以某种方式包含在HTTP Authorization标头中,或者是否需要自定义标头 . 我没有运气找到如何做到这一点的例子 . 同样,这是来自PHP,因此我无法访问任何基于.NET的ADAL或CRM库,这些库抽象了大部分内容并简化了它 .

1 回答

  • 2

    事实证明,您可以简单地获取RetrieveTokenResponse中返回的Assertion,并将其作为HTTP Authorization标头中的Bearer标记传递,并且SOAP Organization.svc和REST oData OrganizationData.svc都将接受它们 .

相关问题