这是我们正在努力实现的理想场景:
Acme.com 有一个“我的帐户”链接。当用户点击这个链接时,内容来自https://acme.xyz.com/myaccount并显示在 acme.com 上的 iframe 中
我控制“acme.xyz.com”应用程序,并为用户提供使用其 Google/Facebook 凭据登录的选项。由于 OAuth 在登录期间正确地拒绝 iframe,因此我通过打开子窗口来执行 OAuth 重定向。
一旦我在子窗口中收到来自 Google/Facebook 的 OAuth 回调,我想关闭子窗口并将焦点恢复到父窗口(iframe 中的窗口)。
如何执行步骤#3?我意识到我必须使用 javascript 来完成此操作,但我们将我们常驻的 javascript 人员扔到了公共(public)汽车下并把他撞了过去(咧嘴笑)。如果有人能给我一段 js/jQuery 代码,那么我保证会善待所有 javascript 家伙。
我意识到弹出窗口拦截器会对上述方法造成麻烦,还有其他可能有问题的吗?移动设备?
谢谢
最佳答案
事实证明这非常简单 - 对于其他正在寻找解决方案的人来说,这就是我使用的:
<script>
$(document).ready(function(){
if(opener) { // close OAuth popup window if applicable
opener.location.href="${customerHomeUrl}";
top.close();
}
});
</script>
关于javascript - 使用 javascript (OAuth) 从子窗口重定向到父窗口到 iframe,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13676021/