[英]How can I do OAuth request by open new window, instead of redirect user from current page?
我已经通过Twitter和Facebook进行了OAuth身份验证。 目前,对于每个站点,我的服务器将用户重定向到指定的URL(例如,使用Twitter的http://api.twitter.com/oauth/authorize ),然后通过回调URL接收身份验证参数。
但通过这种方式,用户被重定向到我的页面(到Facebook或Twitter),并且只有在输入正确的用户名和密码后才会返回。 这就像http://techcrunch.com在用户尝试推文发布时的方式。
我记得在某个网站上,我看到我们可以通过重定向用户来连接,但是打开一个弹出窗口供用户输入凭据。 认证为completde后,弹出窗口关闭,主页面刷新新内容。
使用javascript这可能是一个非常简单的任务,但我仍然无法弄明白。 我可以在弹出窗口中打开身份验证URL,但是如何获取结果并更新主页?
假设您使用window.open()
在弹出窗口中打开身份验证URL,您可以使用以下命令访问父窗口:
window.opener
并重新加载父窗口(从弹出窗口)使用:
window.opener.location.reload();
此代码应在您已设置为oauth授权的成功回调网址的网址上提供。
一般来说,流程应该是:
window.opener.location.reload()
)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.