Google Chrome扩展程序:尝试对用户进行身份验证,使用launchWebAuthFlow最终会导致“无法加载授权页面”

时间:2016-04-03 08:19:30

标签: javascript authentication google-chrome-extension

所有的好日子!

我的目标:使用Google帐户验证用户,访问相关的token_id并将其传递到服务器上以进行进一步处理。

我正在尝试做什么:我正在尝试使用后台脚本中的 launchWebAuthFlow 获取token_id:

background.js:

var manifest = chrome.runtime.getManifest();
var clientId = encodeURIComponent(manifest.oauth2.client_id);
var scopes = encodeURIComponent(manifest.oauth2.scopes.join(' '));
//var redirectUri = encodeURIComponent('https://' + chrome.runtime.id + '.chromiumapp.org');
//var redirectUri = chrome.identity.getRedirectURL(chrome.runtime.id);
var redirectUri = chrome.identity.getRedirectURL("oauth2");

console.log(redirectUri);
var url = 'https://accounts.google.com/o/oauth2/auth' +
    '?client_id=' + clientId +
    '&response_type=id_token' +
    '&access_type=offline' +
    '&redirect_uri=' + redirectUri +
    '&scope=' + scopes;

chrome.identity.launchWebAuthFlow(
    {
        'url': url,
        'interactive': true
    },
    function (redirectedTo) {
        if (chrome.runtime.lastError) {
            console.log(chrome.runtime.lastError.message);
        }
        else {
            console.log(response);
        }
    }
);

的manifest.json:

"permissions": [
"http://*/*",
"https://*/*",
"unlimitedStorage",
"contextMenus",
"cookies",
"tabs",
"notifications",
"identity"
]
"oauth2": {
"client_id": "Some client id",
"scopes": [
  "openid", "email", "profile"
]

}

结果:我第一次获得了Google认证页面,提交后我得到了:

无法加载授权页面。埃罗 - [R

我该怎么办才能修复它?

0 个答案:

没有答案