托管在Cloud Platform中的Tableau Web Data Connector陷入无限循环

时间:2019-06-18 16:05:51

标签: tableau

我在我们公司的私有云上​​托管了TWDC(tableau Web数据连接器)应用程序。 用户通过“单一登录”登录页面登录后,将访问在那里部署的每个应用程序,然后将其重定向到该应用程序。

当我尝试在Tableau Desktop上使用Web数据连接器时,在按下执行tableau.submit()的按钮后,它陷入了无限循环。

我已经设置了调试器,并发现,当我按下按钮时,加载的页面不是WDC的index.html,而是SSO登录名中的重定向页面。 我不知道为什么会这样,这没有什么意义,因为它首先加载了index.html,但是在我按下此按钮后,它又回到了SSO登录和重定向页面的中间。 / p>

请注意:在模拟器上可以正常工作。

对此有何想法?

这是我的代码:

HTML

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>TableauAngular</title>
  <base href="/">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="icon" type="image/x-icon" href="favicon.ico">
  <script type="text/javascript" src="assets/js/jquery.min.js"></script>
  <script type="text/javascript" src="assets/js/tableauwdc-2.3.latest.js"></script>
  <script type="text/javascript" src="controller.js"></script>
</head>
<body>
  <button id="submitButton">Send</button>
  <br />
  <br />
  <textarea id="log" style="border: 1px solid #000; width: 100%; height: 700px;"></textarea>
  <br />
  <div id="placeholder"></div>
</body>
</html>

JavaScript

$(document).ready(function() {
  try {

    $("#submitButton").click(function() { tableau.submit() });

    var myConnector = tableau.makeConnector();

    // these are function which are not important for this question;
    myConnector.getSchema = fnGetSchema; 
    myConnector.getData = fnGetData;

    tableau.registerConnector(myConnector);

  } catch (e) {
    logger("ERROR: " + JSON.stringify(e));
  }
});

1 个答案:

答案 0 :(得分:1)

这不是您的代码的问题。使用WDC,有一个交互式阶段,其中向用户显示一个屏幕并可以进行交互(这是您的第一个SSO登录),但是接下来是一个非交互式(获取数据)阶段,Tableau将尝试检索数据并进行交互。从不向用户显示SSO登录名。参见docs。鉴于此页面是在没有用户交互的情况下加载的,因此它不能/不应该具有SSO安全性。