最近已将连接到 Dynamics CRM 的应用程序转换为使用新的 CRM Tooling 连接方法。它使用旧方法连接到 CRM,我需要更新连接方法以支持现代 CRM Online。
这部分没问题,
IOrganizationService _crmService;
string connectionString = "....my crm connection string....";
CrmServiceClient service = new CrmServiceClient(connectionString);
_crmService = (IOrganizationService)service.OrganizationWebProxyClient != null ? (IOrganizationService)service.OrganizationWebProxyClient : (IOrganizationService)service.OrganizationServiceProxy;
这一切都有效,并且可以连接到 IFD On-Premise 部署和 CRM Online。
IFD 以这种格式连接一个字符串:
AuthType=IFD;Url=https://crmorg.crmprovider.com/CRMORG;Username=myuser@domain.com;Password=MyPass;Domain=NETBIOSDOMAIN;
它还可以通过在 Azure 中注册应用程序并以这种格式配置连接字符串来支持 CRM Online 的 MFA:
AuthType=OAuth;Url=https://yourcrm.crm.dynamics.com;AppId=APPID;RedirectUri=http://localhost;
我坚持的是使用 On-Premise Microsoft MFA 的 IFD (On-Premise) 部署中的字符串格式。
当我在 Azure AD 中使用 OAuth 方法时,应用程序会弹出一个 Microsoft 登录助手来处理用户/通行证和两因素请求。
如何使用 Microsoft 的最新 ADFS 和 MFA 组件构建与本地 CRM365 部署相同的 CRM 连接字符串?我知道本地安装会像 Microsoft 登录助手一样挑战您的用户/通行证(通过 ADFS),但是在不使用 CRM Online 时如何调用该连接方法?