当Tableau链接以角度4嵌入iframe时,SSO无法正常工作

时间:2018-11-09 08:45:48

标签: angular iframe tableau

我已经在angular 4中创建了应用程序,并且我试图将Tableau仪表板嵌入到应用程序中。

嵌入的Tableau仪表板正在提示登录。

<iframe src="https://tableauserver/view/dashboard/12345" sandbox="allow-top-navigation allow-same-origin allow-scripts allow-forms allow-popups"></iframe>

但是,当我们在新选项卡中打开相同的链接时,确实可以使用sso对它进行身份验证并打开仪表板。 tablue link in addressbar

当我们首先在一个选项卡中打开Tableau仪表板,然后在新选项卡中打开应用程序时,则显示仪表板。

有人可以建议如何在iframe中使用sso身份验证

1 个答案:

答案 0 :(得分:0)

这是一项已知的安全功能,可以防止CORS(跨域资源共享)和CSRF(跨站点请求伪造)安全问题。在使用iframe和SSO(不仅限于Tableau)的浏览器中,它是一种特定的攻击媒介,因此大多数浏览器都不允许。

根据您的网站设置和您愿意承担的风险级别,您可以使用三个选项。

选项1(最佳选择):不要使用iframe。而是在浏览器中单击Viz上的“嵌入”按钮时,使用Tableau提供的<embed>标签。参见https://onlinehelp.tableau.com/current/pro/desktop/en-us/shareworkbooks.htm#shareworkbooks.html

选项2(不建议使用):关闭Web服务器上的CSRF保护。使用此风险自担风险。基本上,不要这样做。我在这里列出是出于教育目的。

选项3(安全,但需要更多工作):使用具有可信认证的Tableau Javascript API将可视化效果嵌入到网页中。需要很多工作; <embed>标签要容易得多。

我们选择了选项1,此后没有任何问题。