演练:使用 Active Directory 注册 CRM 应用程序

 

发布日期: 2016年11月

适用于: Dynamics CRM 2015

本演练介绍了如何注册桌面客户端或移动应用程序,使其能够连接到以及向其进行身份验证 Microsoft Dynamics 365 服务器和访问 Web 服务。 注册后,应用程序可以通过服务器的 SOAP或 OData 终结点使用 HTTP 请求访问 Web 服务。 本演练适用于这两个 Microsoft Dynamics CRM 2015 和 Microsoft Dynamics CRM Online 2015 更新。

必备项

对于 Microsoft Dynamics CRM 2015 内部部署或 面向 Internet 的部署 (IFD):

  • Windows Server 2012 R2 与 AD FS。

  • 您必须对托管 Microsoft Dynamics CRM 2015 部署服务角色和 AD FS 服务器的服务器具有管理员访问权限。

  • 本地服务器必须配置声明身份验证。

对于 Microsoft Dynamics CRM Online 部署:

  • 用户需有管理员角色的 Microsoft Dynamics CRM Online 系统用户帐户 Microsoft Office 365 订阅。

  • 用于应用程序注册的 Microsoft Azure 帐户。 试用版帐户也将运行。

对于任一部署类型,您需知道您应用程序的重定向 URL。 在名为 获取重定向 URI 的一节中介绍了如何查找已提供的 URL。

本主题内容

获取重定向 URI

本地 CRM 的应用程序注册(IFD)

CRM Online 的应用程序注册

获取重定向 URI

获取本机客户端 Windows 应用程序的重定向 URI 的一个方法,是在您的应用程序的调试会话中执行以下代码行,并检查返回的 URI 值。 在 WinJS 调试会话中,选择 RawUri 属性。

string redirectUri = WebAuthenticationBroker.GetCurrentApplicationCallbackUri().ToString();
Dim redirectUri As String = WebAuthenticationBroker.GetCurrentApplicationCallbackUri().ToString()
Windows.Security.Authentication.Web.WebAuthenticationBroker.getCurrentApplicationCallbackUri()

WebAuthenticationBroker 类可以在 Windows.Security.Authentication.Web 命名空间中找到。 当注册应用程序时,使用从方法调用中返回的字符串值。 主题 示例:Windows 8 桌面现代 OData 应用程序 中显示 C# 代码行。

对于非 Windows 本机客户端应用程序(如控制台应用程序),请使用任意有效的 URI 值。 在这种情况下,URI 不需要实际存在,但是在租户中必须是唯一的。

本地 CRM 的应用程序注册(IFD)

方案:客户或其他人员在由 ISV 或 Partner 提供的 Dynamics 365 服务器上注册一个自定义应用程序来访问组织数据。

ISV or Partner 执行以下任务:

  1. 使用本部分稍后提供的 Windows PowerShell 命令配置 Dynamics 365 内部部署 (IFD) 服务器和 AD FS 服务器。

  2. 向客户提供客户端 ID 和服务器地址 URL 信息。

客户或其他人员执行以下任务:

  1. 根据提示在应用程序上输入客户 ID 和服务器地址 URL,配置外部应用程序。

CRM 服务器安装程序

若要配置 Dynamics 365 服务器启用联合声明,请执行以下步骤。

配置声明设置

  1. 以管理员身份登录到托管部署服务角色的 Dynamics 365 服务器,并打开 Windows PowerShell 命令窗口。

  2. 添加 Dynamics 365Windows PowerShell 管理单元 (Microsoft.Crm.PowerShell.dll)。详细信息:TechNet:使用 Windows PowerShell 管理部署

    Add-PSSnapin Microsoft.Crm.PowerShell
    
  3. 输入以下Windows PowerShell 指令:

    $ClaimsSettings = Get-CrmSetting -SettingType OAuthClaimsSettings
    $ClaimsSettings.Enabled = $true
    Set-CrmSetting -Setting $ClaimsSettings
    

AD FS 服务器安装程序

若要注册使用 AD FS 的外部应用程序,请执行下列步骤。

在 Active Directory 中注册应用程序

  1. 以管理员身份登录到 AD FS 服务器,并打开 Windows PowerShell 命令窗口。

  2. 输入以下命令。

    Add-AdfsClient -ClientId <CLIENT_ID> -Name <APP_NAME> -RedirectUri <REDIRECT_URI>
    

    其中,<CLIENT_ID> 是一个唯一编号,<APP_NAME> 是应用程序的名称,<REDIRECT_URI> 是完成身份验证后 AD FS 将重定向到的任意有效 URI。 建议客户端 GUID。 可以通过打开“工具”菜单和单击“创建 GUID”在 Microsoft Visual Studio 中生成 GUID。

CRM Online 的应用程序注册

方案:具有 CRM Online 系统用户帐户的人员的桌面客户端或移动应用程序访问组织数据。

终端用户或应用程序开发人员执行以下任务:

  1. 在 Microsoft Azure 中注册外部应用程序,并在注册过程中提供重定向 URI。URI 可以是任何有效且适当的 URI。Microsoft Azure 应用程序注册过程造成客户端 ID 字符串生成。

  2. 在 Microsoft Azure 应用程序注册页面上出现提示时,通过输入客户端 ID 配置应用程序,并在应用程序身份验证代码中重定向 URI。

方案:ISV 创建并注册一个随后发布在应用程序商店中的应用程序。 ISV 的客户从此商店中下载应用程序,并使用它连接到其 Microsoft Dynamics CRM Online 组织。

ISV 执行以下任务:

  1. 使用上述方案(参见上文)中提供的步骤在 ISV 的租户中注册应用程序。

下载此应用程序的每个客户执行以下任务:

  1. 在客户的租户中访问 Dynamics 365 组织时,将会授予客户同意表。

  2. 客户阅读此表中的信息,并单击“确定”同意。

  3. (可选)在客户租户中客户注册的应用程序。

对于本机应用程序,每次提示客户再次身份验证时客户必须同意。 对于 Web 应用程序,客户仅需同意一次询问。 绕过同意表的解决方法是在客户的租户中为客户注册应用程序。

注册 Windows Azure 的应用程序

  1. 通过使用具有管理员权限的帐户,登录 到 Microsoft Azure 管理门户。 必须使用与您要注册的应用程序相同的 Office 365 订阅(租户)中使用账户。 还可以通过 Office 365 管理员中心来访问 Microsoft Azure 门户,方法是展开左侧导航窗格中的”ADMIN“项目并选择”Azure AD“。

    如果您不具有 Azure 租户(帐户)或者您有但在您的 Azure 帐户中没有含 Microsoft Dynamics CRM Online 的 Office 365 订阅,则按照主题为您的开发人员网站设置 Azure Active Directory 访问中的说明操作关联两个帐户。

    如果没有客户,您可以使用信用卡注册客户。 但是,如果只按照本主题调用的程序注册一个或多个应用程序,那么客户将是免费用于应用程序注册,并且不会从信用卡中收取费用。详细信息:动态目录定价详细信息

  2. 在页面左列,选择“Active Directory”。 您可能需要滚动到左列查看“动态目录”图标和标签。

  3. 选择目录列表中所需的租户目录。

    可用 Active Directory 条目的列表

    如果您的 Dynamics 365 租户目录在目录列表中未显示,请选择“添加”,然后在对话框中选择“使用现有目录”。 按照提供的提示和说明,然后返回到步骤 1。.

  4. 使用选择的目标目录,选择“应用程序”(靠近页面顶部),然后选择“添加”。

  5. 在”您想做什么?“对话中框中,选择“添加我的组织正在开发的应用程序”。

  6. 出现提示时,请输入您的应用程序的名称,选择类型:“Web 应用程序”或“本机客户端应用程序”,然后选择向右箭头键继续。 单击问号”?“了解每个输入字段的相应值的详细信息。

  7. 选择复选标记图标,继续提供所需的信息并完成应用程序注册过程。

  8. 使用选定的新注册的应用程序选项卡,选择“更新您的代码”。 复制提供的重定向 URI 和客户端 ID。 必要时,您需要将这些值插入到您的应用程序的身份验证代码或 app.config 文件中。 要获取示例代码,请参阅主题 示例:Windows 8 桌面现代 OData 应用程序

    在 Dynamics CRM 中生成的客户端 ID

  9. 通过选择的新注册的应用程序的选项卡,选择”配置“或”配置对其他应用程序中 Web API 的访问“。

  10. 如下图所示,选择”添加应用程序“,然后设置应用程序权限。 在 Dynamics CRM Online 行项目上选择”+“图标,然后选择复选标记退出对话。

    设置 CRM Online 应用程序的权限

  11. 在 Dynamics CRM Online代理的权限下拉列表中,请选中以组织用户身份访问 CRM Online

    在 Dynamics CRM 中添加应用程序权限

    有关通过 Azure Active Directory 注册应用程序的详细信息,请参阅添加应用程序

  12. 选择”保存“。

注册 AD FS 的应用程序

  • 如果您在联合 IFD 服务器和 Microsoft Dynamics CRM Online 之间的用户,并且您希望使用具有任一服务器的应用程序,则需在 IFD 服务器上注册具有 Microsoft Dynamics CRM Online 和 Active Directory 联合身份验证服务 (AD FS) 的注册应用程序。 请按照本主题提供的步骤。 您的 IFD 服务器需运行 Windows Server 2012 R2。

另请参阅

添加、更新和删除应用程序
通过 Web 服务对用户进行验证
通过 Microsoft Dynamics CRM 2015 Web 服务对用户进行身份验证

© 2017 Microsoft。 保留所有权利。 版权