我正在使用 Django 1.6.2 和 Python-Social-Auth 0.1.23。 我还在使用 Twitter Bootstrap 作为我的模板引擎。
我在我的模板中使用了 python-social-auth 并为我的客户实现了 LinkedIn 登录,我对其进行了编码,以便使用 javascript 在新窗口中打开登录。
<li>
<a class="btn" href=""
onclick="window.open('{% url 'social:begin' 'linkedin' %}', '_blank', 'location=yes,height=570,width=520,scrollbars=yes,status=yes');">
<span class="glyphicon glyphicon-user"></span> Sign In</a></li>
我的问题是,如何在成功登录后关闭子窗口并重新加载父窗口?
我意识到这个问题可能非常具体,但之前有人不得不实现相同的想法。请注意:如果可以的话,我不想编辑任何 python-social-auth 内容。
让我知道您是否可以使用任何其他信息。我也可以包含我的 views.py。
最佳答案
您已经解决了在弹出窗口中打开的部分,关闭是棘手的部分,因为您需要为某些页面提供所需的 JS 代码以关闭弹出窗口,然后在父窗口中触发重新加载。要实现这一点,只需定义设置 SOCIAL_AUTH_LOGIN_REDIRECT_URL = '/page/that/servers/the/js'
,然后创建执行此操作的 View /模板。
检查父级中的关闭和触发重新加载是如何完成的,这很容易,并将该 JS 提供给用户。
关于javascript - 使用 Django 打开社交登录的新窗口,然后关闭并返回父窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23224434/