dynamics-crm - 使用单点登录在 Dynamics-365 Online 中打开自定义 Web 应用程序
问题描述
我一直在做一些事情,其中我必须尝试在 Dynamics 365 门户(在线)中打开一个现有的基于 Office 365 的 Web 应用程序。使用 Office 365 提供的单点登录或当前登录用户的身份验证令牌登录到 Web 应用程序。
准确地说,操作步骤:
- 登录到 Dynamics 365
- 单击一个按钮以打开 Web 应用程序(在 iFrame 或其他东西中)
- 使用当前登录用户上下文中的令牌登录到 Web 应用程序。[这是我需要帮助的地方]
我尝试使用功能区按钮打开应用程序,但 Microsoft 登录弹出窗口被 Dynamics 365 阻止。
我一直在浏览各种社区页面和博客,但没有一个显示登录过程或示例代码。
如果任何人都可以提供一些示例代码或一些博客,甚至是一个演示相同的方向,那将是非常有帮助的!
解决方案
根据您的问题,您有2个问题
- 在 IFrame/Popup 中打开外部网站
- 外部网站与当前 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 身份验证
希望能帮助到你
推荐阅读
- java - 如何直接使用 javax 验证 @NotBlank 的简单字符串参数?
- excel - 想要根据工作表上的名称列表创建以特定顺序复制模板的新工作表
- java - 在android中的模块之间共享ViewModel实例
- python - Python,如何将循环索引名称作为 os.system 命令传递给输出
- linux - 逐行比较两个文件并在第二个文件中存储唯一数据 [linux/java]
- python - 使用模python
- reactjs - 如何在 react-static 中添加 jquery?
- javascript - 用特定的 JSON 数组填充 Chart.js
- r - 使用 stringr 的 str_detect() 过滤字符向量的行
- apache-kafka - 当服务器重启后消费者 group.id 未使用时