使用javascript(OAuth)从子窗口重定向到父窗口到iframe

时间:2012-12-03 01:39:42

标签: javascript redirect iframe oauth

以下是我们拍摄的理想情景:

  1. Acme.com有一个“我的帐户”链接。当用户点击此链接时,内容来自https://acme.xyz.com/myaccount,并显示在acme.com上的iframe中
  2. 我控制“acme.xyz.com”应用并为用户提供使用其Google / Facebook凭据登录的选项。由于OAuth在登录期间正确地对iframe皱眉,因此我通过打开子窗口来执行OAuth重定向。
  3. 在子窗口中从Google / Facebook获取OAuth回调后,我想关闭子窗口并将焦点还原到父窗口(iframe中的窗口)。

    如何执行第3步?我意识到我必须使用javascript来做这件事,但我们把我们常驻的javascript人员扔在公共汽车下并让他跑过去(笑)。如果有人能给我一段js / jQuery代码,那么我保证对所有的javascript家伙都很友善。

  4. 我意识到弹出窗口拦截器会给上面的方法带来麻烦,其他任何可能有问题的东西?移动设备?

    由于

1 个答案:

答案 0 :(得分:2)

原来这很简单 - 对于其他寻找解决方案的人来说,这就是我所使用的:

    <script>
         $(document).ready(function(){

             if(opener) { // close OAuth popup window if applicable
                 opener.location.href="${customerHomeUrl}";
                 top.close();
             }

         });
    </script>