你 所有的好日子!
我的目标:使用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
我该怎么办才能修复它?