演练:使用 Azure Active Directory 注册 Dynamics 365 应用程序

 

发布日期: 2017年1月

适用于: Dynamics 365 (online),Dynamics 365 (on-premises),Dynamics CRM 2016,Dynamics CRM Online

本演练介绍了如何在 Microsoft Azure Active Directory 中注册应用程序,使其能够连接到 Microsoft Dynamics 365 服务器、使用 OAuth 进行身份验证,以及访问 Web 服务。 注册后,应用程序可以通过 Web API 或组织服务的 Web 客户端代理类使用 HTTP 请求访问 Web 服务。 在您的应用程序中使用 OAuth 身份验证时,该演练适用于 Microsoft Dynamics 365(在线或本地)。

必备项

对于内部部署或 面向 Internet 的部署 (IFD):

  • 必须配置服务器以使用声明身份验证并启用 OAuth 身份验证。

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

对于 Microsoft Dynamics 365 (online) 部署:

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

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

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

本主题内容

获取重定向 URI

OAuth 身份验证的应用程序注册

获取重定向 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 不需要实际存在,但是在租户中必须是唯一的。

OAuth 身份验证的应用程序注册

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

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

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

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

方案:ISV 创建并注册一个随后发布在应用程序商店中的应用程序。 ISV 的客户从此商店中下载应用程序,并使用它连接到其 Microsoft Dynamics 365 (online) 或 面向 Internet 的部署 (IFD) 组织。

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 365 (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 365(在线) 行项目上选择”+“图标,然后选择复选标记退出对话。

    设置 CRM Online 应用程序的权限

  11. 在 Dynamics 365(在线)代理的权限下拉列表中,请选中以组织用户身份访问 Dynamics 365(联机)

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

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

  12. 选择”保存“。

注册 AD FS 的应用程序

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

另请参阅

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

Microsoft Dynamics 365

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