如何拦截弹出窗口中的重定向?

时间:2013-09-14 14:44:15

标签: javascript

我正在撰写需要用户授权的Chrome应用。比如说,用户想要在网站上分享推文并点击按钮。我首先会在Chrome存储中搜索该网站的用户访问令牌。如果没有,我将打开一个带有

的窗口
window.open(url);

其中url是网站提供的授权API。然后,用户将输入登录信息(用户名/密码),并被重定向到由访问令牌所需的代码连接的回调。

我不希望用户被重定向,我需要该代码。 在用户完成授权后,我如何拦截重定向,获取代码并关闭窗口?

2 个答案:

答案 0 :(得分:1)

使用chrome中的匹配模式控制OAuth流(以及其他重定向控制流)。匹配模式允许您通过侦听浏览器触发的某些URL来挂钩流程。

更多相关信息 - http://developer.chrome.com/extensions/match_patterns.html

答案 1 :(得分:0)

如果回调URL在你的控制之下,你可以尝试使用window.opener的一些javascript来传回代码,然后window.close()弹出窗口吗?