NodeJS
,node-dbox
およびExpress
を使用して小さなアプリケーションをまとめようとしています。 DropBox
承認をリクエストするときは、request_token
を取得してから、ユーザーがドロップボックスページを閲覧することを許可してから、request_token
に基づいてaccess_token
をリクエストし、そのユーザーが許可リクエストを受けていることを確認します。NodeJS/Expressのページリフレッシュの間にnode-dboxトークンを保持する方法
はしかし、時間によって私は(request_token
を取得し、URLをユーザに提供する)ステップ1と2のためのページを務めた - ステップ3で、私はaccess_token
を要求することはできませんので、request_token
インスタンスが!消えて、そのため、 request_token
が渡されている必要があります
私はrequest_token
をクッキーに保存しようとしていますが、機密データが含まれていると考えられているため、クライアントに送信するのは良い考えではありません。何か案は?
簡体字コードは以下の通りです:
(function() {
var dbox = require('dbox'),
config = require('easy-config'),
express = require('express'),
dboxApp = dbox.app(config.dropbox_credentials),
app = express();
app.use(express.cookieParser());
app.get('/', function(req, res) {
dboxApp.requesttoken(function(status, request_token) {
res.cookie('request_token', JSON.stringify(request_token));
res.send("<a href='" + request_token.authorize_url + "' targe='_new'>authorize via dropbox</a><br/>" + "<a href='/next'>next</a>");
});
});
app.get('/next', function(req, res) {
var request_token = JSON.parse(req.cookies.request_token);
if(request_token) {
dboxApp.accesstoken(request_token, function(status, access_token) {
var client = dboxApp.client(access_token);
client.account(function(status, reply){
res.send(reply);
});
});
} else {
res.send('sorry :(');
}
});
app.listen(3000);
})();
ボーナス質問:ページは、同様にいただきました!最良の方法をリフレッシュする渡っclient
がaccess_token
、そのいずれかのクライアントのインスタンスまたはaccess_token
で作成さを維持する必要がありますか?
は、あなたが今までにこの解決策を得ましたか。私は同じこと、つまり、正しいアクセストークンを使ってDropboxから自分のアプリにリダイレクトする方法に苦しんでいます。 – Lewis