don*_*ok0 3 office-addins azure-active-directory adal adal.js office-js
我正在使用Adal.js构建Office加载项以进行AAD集成.我的加载项需要一些权限.
当我在OneNote中打开加载项并尝试从adal.js调用登录时,它会请求login.microsoftonline.com并给出X-Frame-Option Deny错误.
我认为这是因为在iFrame中运行的办公室加载项,我该如何解决这个问题?
login.microsoftonline.com/common/oauth2/authorize?response_type=id_token&cl…nt-SKU=Js&x-client-Ver=1.0.13&nonce=ced03385-f1ca-4206-bb23-6c3e8338a0d2:1 Refused to display 'https://login.microsoftonline.com/common/oauth2/authorize?response_type=id_…ient-SKU=Js&x-client-Ver=1.0.13&nonce=ced03385-f1ca-4206-bb23-6c3e8338a0d2' in a frame because it set 'X-Frame-Options' to 'DENY'.
Run Code Online (Sandbox Code Playgroud)
在办公室Web加载项中使用OAUTH流进行身份验证是一个已知问题.可以在此处找到对问题的更好解释.
由于互联网上点击劫持的普及,通常会阻止登录页面在帧内显示.HTML中的X-FRAME-Options元标记使提供商可以轻松地在广泛或域/源特定的基础上实施此安全措施.不是"可框架"的页面将不会在Office加载项中一致地加载
因此,您需要依赖弹出机制.总之,验证流程将在弹出窗口中进行,以避免出现iFraming问题.
上面的链接有点过时,因为它说弹出是一个必要的邪恶.微软最近提出了这个问题,提出了对话框,以克服这个问题.
让我们回到我们的Adal.js问题.我相信您应该停止使用adal.js,因为它并不打算在我们的加载项Web上下文中使用.即使他们实施了弹出技术.它们在可用时不使用dialogAPI.
您应该尝试利用此dialogAPI,否则您将遇到许多问题(停用的弹出窗口,安全区域等).
您最好的选择是实现自己的流机制或使用Office-js-helpers,如本响应中所述
| 归档时间: |
|
| 查看次数: |
4576 次 |
| 最近记录: |