我正在构建一个集成了几个不同的社交登录的Office应用程序。玩POC,很明显,像Office 365/Facebook这样的SSO打开的重定向/新窗口是一个拦截器,因为它们不会返回到打开它们(Office应用程序)的窗口(登录确认等)。是否有任何方法可以确保任何新窗口在Office应用程序容器内呈现,而不是一个新窗口?
相关问题
- Outlook App - ADAL Authentication - AADSTS90056:此端点仅接受POST请求
- https://social.msdn.microsoft.com/forums/office/en us/e941096a - 5 - e57 4 e61 - 85 fb - 63 ba33cd68ca/aadsts90056 -该端点-只接受后requests?forum=azureapimgmt
正如我在那里写的那样,由于安全约束,您不能在插件沙盒iFrame中实现OAUTH流,因此弹出窗口是必要的解决方案。
这是在弹出窗口中实现OAUTH流的最佳解决方案,它清楚地解释了问题以及为什么弹出窗口是一个必要的恶魔。
微软很清楚这个问题,并且已经开始研究避免弹出窗口(可能会被关闭)的dialogAPI。这个dialogAPI就是为此目的而创建的,但只适用于Office Desktop。如果你想支持所有客户端(包括web客户端),那么你需要一个依赖于弹出窗口的后备解决方案。
关于Office插件沙盒iFrame OAUTH问题的更多链接:
- msdn线程
- 另一个处理IE模式(然后是cookie存储)的差异,当它被Office Desktop作为一个经常使用的弹出窗口启动。
- 我的旧/过时的解决方案来克服问题
在Keluro,我们发布了一个开源代码示例来利用登录技术。它更多地用于连接到Azure AD/Office 365,但客户端使用dialogApi和弹出窗口作为回退可以用于其他社交登录。