0

我有以下问题,我尝试解决:从第三方应用程序访问动态CRM Web API上的另一个域

有域DOMA的MVC Web应用程序(APPA)被配置为使用用于认证/授权的CUSTOM STS。

另一方面,我们有一个CRM安装在另一个域,MyCRM域,配置为使用ADFS(ADFS与CRM在同一个域中)。

我们要实现什么是APPA能够POST数据到动态CRM Web API,但我们不希望的用户APPA重新输入凭据或有任何其他类型的相互作用关于ADFS的认证/授权。 的APPA应该能够从JavaScript(客户端)和后端(MVC控制器),POST数据

我们如何才能实现上述? DomA域的自定义STS与MyCRM域的ADFS之间应该建立什么样的信任关系?

+0

联合您的客户STS和ADFS可能是可能的,但我认为这不是正确的问题。正如我所看到的那样,您最大的问题在于,在一个域中的浏览器上运行的任何JS都无法与另一个域中的服务器通话 - 这是一个XSS漏洞,您不希望捅漏洞。 – Eccountable

回答

0

您不需要后端(服务器到服务器)连接的联合身份。您可能需要使用Impersonation,它允许您设置一个用户帐户,该用户帐户可以代表系统中的其他用户进行操作。

+0

感谢您的支持响应,但我不能使用模拟,因为每个用户都有不同的角色和权限,再加上客户需要在CRM中执行任何操作以反映真正的用户。 –

+0

这就是模拟如何工作:即使特权服务帐户正在执行该操作,但如果您分配系统用户标识,那么CRM将表现得好像用户自己正在执行操作一样。 – Eccountable

+0

请注意,客户端希望使用Dynamics CRM Web API,以便能够从JavaScript调用API。无论如何,我会接受答案,因为这是从服务器端与Dynamics进行交互的有效解决方案,并且没有更好的解决方案发布。 –

相关问题