我们希望构建一个web应用程序,Dynamics crm客户可以通过该应用程序登录。一旦他们登录,我们想向他们显示他们的CRM的实例联系人列表。我们已经实现了Azure B2B身份验证和托管应用程序,但我不知道如何从登录客户的crm中检索数据。
https://github.com/Azure-Samples/active-directory-aspnetcore-webapp-openidconnect-v2/blob/master/2-WebApp-graph-user/2-3-Multi-Tenant/README.md#about-这个样品
感谢您的帮助。
查看CRM连接字符串示例。您可以提示登录用户进行身份验证。它通过OAuth使用当前登录的用户创建到公共数据服务的新连接。
我想连接到CRM来为一个项目使用解决方案,所以我通过引用PowerApps示例repo来使用CRM SDK。我的项目使用Azure B2B对用户进行身份验证,我希望同一用户连接到CRM。所以我用了"代表流动"。在为AD应用程序验证用户身份后,我第一次获得了访问令牌。然后我使用这个令牌为目标组织使用UserAssertion获得另一个令牌(例如:https://org12345.crm.dynamics.com/)。您需要添加类似于此注册AD应用程序的Dynamics CRM权限。现在,一旦我有了目标组织的令牌,我就这样使用它来连接到CRM:
Uri serviceUrlDestination = new Uri(orgUrl + @"/xrmservices/2011/organization.svc/web?SdkClientVersion=8.2");
OrganizationWebProxyClient sdkServiceDestination = new OrganizationWebProxyClient(serviceUrlDestination, false);
sdkServiceDestination.HeaderToken = AccessToken;
CrmServiceClient serviceClient = new CrmServiceClient(sdkServiceDestination);
我不知道如何检索登录用户的联系人列表,因为我主要用于解决方案,但一旦你从登录用户的上下文中连接到CRM,我认为你也应该能够进行其他操作。