2

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 を保存する必要があると考えていましたが、実際にそれを行う方法がわかりません。Cookie を使用してみましたが、うまくいかないようです。もちろん、私はそれらを間違って実装しただけかもしれません。

あなたの助けに感謝します。

4

2 に答える 2

2

通常、アクセス トークンの保存方法は、API を使用する場所によって異なります。

私は通常、トークンが関連付けられているユーザー ドキュメントのデータベース (MongoDB など) にトークンを永続化することを好みます。その後、何かのためにトークンが必要な場合、Web クライアントはサーバーに (RESTful エンドポイント経由で) ping を実行できます。このようにして、ユーザーがブラウザーでその状態をすべてクリアしても、OAuth フロー全体を再度実行する必要はありません。

于 2013-08-04T20:19:58.090 に答える