3

最近已将连接到 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 时如何调用该连接方法?

4

1 回答 1

0

根据这篇文章

OAuth 使用 Dynamics 365 Customer Engagement (on-premises) 中的命名帐户和 UX 提示进行身份验证

通过 oAuth 使用用户 ID 或密码创建新连接。

OAuth 是使用交互式流时连接到 Dynamics 365 Customer Engagement (on-premises) 的首选身份验证类型。此身份验证类型完全支持 Azure Active Directory 条件访问和多重身份验证的功能。

AuthType=OAuth;  
Username=jsmith;  
Password=passcode;  
Url=https://contoso:8080/Test;  
AppId=51f81489-12ee-4a9e-aaae-a2591f45987d;      
RedirectUri=app://58145B91-0C36-4500-8554-080854F2AC97;     
TokenCacheStorePath=c:\MyTokenCache;  
LoginPrompt=Auto 
于 2021-11-20T13:23:07.650 回答