首页 > 解决方案 > 使用单点登录在 Dynamics-365 Online 中打开自定义 Web 应用程序

问题描述

我一直在做一些事情,其中​​我必须尝试在 Dynamics 365 门户(在线)中打开一个现有的基于 Office 365 的 Web 应用程序。使用 Office 365 提供的单点登录或当前登录用户的身份验证令牌登录到 Web 应用程序。

准确地说,操作步骤:

  1. 登录到 Dynamics 365
  2. 单击一个按钮以打开 Web 应用程序(在 iFrame 或其他东西中)
  3. 使用当前登录用户上下文中的令牌登录到 Web 应用程序。[这是我需要帮助的地方]

我尝试使用功能区按钮打开应用程序,但 Microsoft 登录弹出窗口被 Dynamics 365 阻止。

我一直在浏览各种社区页面和博客,但没有一个显示登录过程或示例代码。

如果任何人都可以提供一些示例代码或一些博客,甚至是一个演示相同的方向,那将是非常有帮助的!

标签: dynamics-crmmicrosoft-dynamicsdynamics-crm-onlinedynamics-365

解决方案


根据您的问题,您有2个问题

  1. 在 IFrame/Popup 中打开外部网站
  2. 外部网站与当前 CRM 用户进行身份验证

问题 1

您可以创建一个 HTML WebResource 并使用带有操作的 FORM 标记将页面重定向到您的网站,并在 load 事件中使用 JS 代码。(您需要与 HTTPS 网站通信,否则浏览器安全性将阻止调用)

<html>
<head>
    <meta http-equiv="X-UA-Compatible" content="IE=edge" charset="utf-8">
    <title>Redirect</title>
    <script src="../../../ClientGlobalContext.js.aspx" type="text/javascript">/script>
    <script>
        $(window).on('load', function () {
           $("#FormId").attr('action', "HTTPS://WebSite.COM");
           $("#FormId").submit();
        });
    </script>

</head>
<body>
    <form id="FormId>
    </form>
 </body>

问题 2

您需要在 Dynamics CRM 实例的 Azure-AD 中注册您的应用程序,并在相应的网站中配置 Azure-AD 身份验证

希望能帮助到你


推荐阅读