Javascript 如何存储从OAuth获得的access_令牌以供以后使用?

Javascript 如何存储从OAuth获得的access_令牌以供以后使用?,javascript,node.js,oauth,pocket,Javascript,Node.js,Oauth,Pocket,我正在尝试使用Node.js从Pocket API获取并存储访问令牌。我能够获得请求令牌,重定向到Pocket登录页面,重定向回我的站点,最后能够将请求令牌交换为访问令牌 但这就是我的问题所在。我不知道应该如何实际存储令牌,没有它我就无法进行API调用(当然)。以下是相关代码: //called when Pocket API redirects back to /getAccessToken function getAccessToken(response, requestToken) {

我正在尝试使用Node.js从Pocket API获取并存储访问令牌。我能够获得请求令牌,重定向到Pocket登录页面,重定向回我的站点,最后能够将请求令牌交换为访问令牌

但这就是我的问题所在。我不知道应该如何实际存储令牌,没有它我就无法进行API调用(当然)。以下是相关代码:

//called when Pocket API redirects back to /getAccessToken
function getAccessToken(response, requestToken) {
    restler.post("https://getpocket.com/v3/oauth/authorize", {
        headers: { "Content-Type" : "application/json",
                   "X-Accept" : "application/json" },
        data : JSON.stringify({consumer_key:CONSUMER_KEY,code:requestToken})
    }).on("complete", function(data, res) {
        if(res.statusCode == 200) {
            var accessToken = data.access_token;
            console.log("Access granted: " + accessToken);
            //BUT HOW DO I STORE THE ACCESS TOKEN FOR USE OF API CALLS ??
        }
        response.writeHead(307, {Location: DNS}); //go back to site
        response.end();
    });

};
我在想我应该把accessToken存储在客户端,但实际上我不知道该怎么做。我试过用饼干,但似乎不起作用。当然,我可能只是执行错了


非常感谢您的帮助。

您可能应该让cookies这件事起作用。选项2是使用Cookie,但如果您正在使用Cookie,我不会尝试沿着这条路走下去——它可以让您更好地控制令牌何时通过网络发送,但还需要做更多的工作才能使您的服务器端和客户端代码协调。

如何存储访问令牌通常取决于您将在哪里使用API


我通常喜欢将令牌保存在数据库(比如MongoDB)中与它们相关联的用户文档上,然后我的web客户端可以ping我的服务器(通过RESTful端点),如果它需要令牌做任何事情。这样,如果用户清除了浏览器上的所有状态,您就不必再次查看整个OAuth流。

您尝试了哪些Cookie,以及您为什么说它不起作用?应该已经澄清了!我使用了节点模块,虽然我可以让它工作,但它似乎使我的代码膨胀,有时不可靠。我不认为饼干是解决办法,但如果是的话,你有什么建议吗?