如何为Chrome Extension OAuth启用服务器端离线访问?

时间:2014-06-17 05:38:02

标签: google-chrome-extension oauth-2.0 google-oauth

我正在使用Chrome扩展程序,后端服务器需要脱机访问权限和用户帐户的刷新令牌。我不熟悉Chrome扩展程序,也不确定在这种情况下我应该如何进行授权。

使用chrome.identity的好处是我可以设置interactive=false并尝试授权,而不会在插件加载时打扰用户。但是,getAuthToken()方法没有为后端提供获取刷新令牌的方法。

相反,如果我使用launchWebAuthFlow()方法并将用户重定向回OAuth页面,即

 chrome.identity.launchWebAuthFlow({
        url: https://*<my_host>*/auth/google,
        interactive: true,
  }, function(url) {
    var uri = URI(url),
        params = uri.search(true);
    var token = params.authToken;
    done(token);
  });

其中https://*<my_host>*/auth/google是我的服务器OAuth路径,然后由于某种原因,“权限范围”页面未显示。相反,它会显示Google登录页面。 (注意:如果我使用浏览器导航到https://*<my_host>*/auth/google,则权限页面会正确显示。)

无论如何使用chrome.identity API执行此操作?如果没有,我是否必须使用弹出窗口执行OAuth?通常这样做的正确方法是什么?

0 个答案:

没有答案