Chrome扩展程序中的Dropbox身份验证

时间:2014-12-02 17:57:08

标签: google-chrome-extension dropbox-api

我经常研究这个,但找不到任何可以帮助我的东西。 所以我正在研究chrome扩展并将dropbox与它集成在一起。我想要实现的是点击扩展图标时的身份验证。

document.addEventListener('DOMContentLoaded', init);
var init = function () { 
var client = new Dropbox.Client({
key: 'mykey'
});
client.authDriver(new Dropbox.AuthDriver.ChromeExtension({
receiverPath: '/views/chrome_oauth_receiver.html'
}));
if (client.isAuthenticated()) {
client.getAccountInfo(function (error, accountInfo) {
if (error) {
console.log(error);
return;
}
console.log(accountInfo.name);
});
} 
else {
client.authenticate(function (error, client) {
if (error) {
console.log(error);
return;
}
console.log(client);
});
}
}

所以最终发生的事情是 - 每次点击扩展图标时,它都会被重定向到寻求用户权限的身份验证页面,这会发生在扩展程序外的新选项卡中。我的扩展窗口(或弹出窗口)现在已经关闭。

理想情况下,我希望第一次发生这种情况。从下一次(除非用户选择退出)代码 - client.isAuthrenticated()应该返回true。但它每次都会返回false。 我们确实需要每次都创建一个新的客户端实例,对吗?

如果我在身份验证调用中使用interactive:false,则不会重定向到权限页面,但client.isAuthenticated()仍为false。 client.isAuthenticated()的返回值的基础是什么 - 必须是localStorage中的东西。

0 个答案:

没有答案