谷歌浏览器扩展与OAuth

7
我正在尝试将OAuth与我的Chrome扩展程序集成。我正在按照Google提供的教程进行操作:https://developer.chrome.com/extensions/tut_oauth.html
我从background.js(由我定义并由background.html加载)创建了ExOauth。
var oauth = ChromeExOAuth.initBackgroundPage({
    'request_url': 'https://www.google.com/accounts/OAuthGetRequestToken',
    'authorize_url': 'https://www.google.com/accounts/OAuthAuthorizeToken',
    'access_url': 'https://www.google.com/accounts/OAuthGetAccessToken',
    'consumer_key': 'anonymous',
    'consumer_secret': 'anonymous',
    'scope': 'https://docs.google.com/feeds/',
    'app_name': Test app'
  });

 oauth.authorize(onAuthorized);

这里是OnAuthorized方法:

onAuthorized = function () {
    // Start my application logic.
};

我有点不明白这里是怎么回事?当我加载扩展程序时,它会打开几个“重定向...”标签页。Multiple Oauth tabs

我仍然有这个问题,它不停地打开新标签页。你是如何解决的? - avi
2个回答

4

这份教程好像缺失了一个文件。如果你打开 chrome_ex_oauth.html 文件,你会发现它试图加载三个 js 文件:

<script type="text/javascript" src="chrome_ex_oauthsimple.js"></script>
<script type="text/javascript" src="chrome_ex_oauth.js"></script>
<script type="text/javascript" src="onload.js"></script>

onload.js文件未提供。 OAuth联系人示例提供了这样的文件,其内容如下:

window.onload = function() {
     ChromeExOAuth.initCallbackPage();
}

在添加了这个文件之后,它似乎可以正常工作。

我做了这个文件,但它仍然不停地打开数百个选项卡。我该怎么解决? - avi
@avi 我在使用Chrome OAuth扩展时遇到了打开数百个标签页的问题。你最终解决了这个问题吗? - Bradley Bossard

0

我知道这个问题有些陈旧,但我也遇到了同样的问题。

我的错误在于我想要验证两个OAuth端点并且两次调用ChromeExOAuth.initBackgroundPage({})。显然这是错误的,因为我不想两次初始化我的背景页面。

也许使用..._oauthsimple.js可以解决这个问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接