我们已经为Microsoft Teams开发了一个自定义标签,并希望按照本文https://docs.microsoft.com/en-us/microsoftteams/platform/concepts/authentication/auth-silent-aad中的说明使用Adal对用户进行静默身份验证 它在开发环境中运行良好,但在生产环境中运行失败! 控制台显示以下错误消息:
不安全的JavaScript尝试从URL为“ https://teams.microsoft.com”的框架开始对起源为“ https://login.microsoftonline.com/common/oauth2/authorize?response_type=id_token&client_id=(...)”的框架进行导航网址“ https://teams.microsoft.com”。尝试在顶级窗口进行导航的框架已被沙箱化,但是未设置“允许顶部导航”或“通过用户激活允许顶部导航”的标志。
我不理解为什么行为在开发和生产环境中会有所不同? 我该如何解决?
谢谢
答案 0 :(得分:1)
您需要通过为iframe
属性提供一些属性值来允许sandbox
元素上的顶部导航
<iframe src="yourpage.html" sandbox="allow-top-navigation"></iframe>
看看here,以了解有关这些属性值的更多信息。
答案 1 :(得分:0)
将此标签放入您的标签页
window.onload = function () {
if (parent.document.getElementById("extension-tab-frame")) {
var iframe = parent.document.getElementById("extension-tab-frame");
iframe.sandbox = 'allow-forms allow-modals allow-popups allow-pointer-lock allow-scripts allow-same-origin allow-top-navigation';
}
}