使用单点登录在Dynamics-365 Online中打开自定义Web应用程序

时间:2018-10-19 12:43:02

标签: dynamics-crm microsoft-dynamics dynamics-crm-online dynamics-365

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

确切地说,操作步骤如下:

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

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

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

如果任何人都可以提供一些示例代码或博客,甚至可以提供说明的示例说明,那将大有帮助!

1 个答案:

答案 0 :(得分:0)

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

  1. 在iframe /弹出窗口中打开外部网站
  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中注册您的应用程序,并在相应的WebSite中配置Azure-AD身份验证

希望有帮助