2

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

window.open(url);

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

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

4

2 回答 2

1

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

于 2013-09-15T01:40:39.280 回答
1

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

更多信息在这里 - http://developer.chrome.com/extensions/match_patterns.html

于 2013-09-15T10:15:23.220 回答