halten Im Versuch, eine kleine Anwendung mit NodeJS
, node-dbox
und Express
zusammenzustellen. Wenn Sie für DropBox
Autorisierung anfordern - it's a 3 step process, müssen Sie zunächst request_token
erhalten, dann autorisiert Benutzer sie besuchen Dropbox-Seite, und nur dann Anfrage für access_token
, basierend auf request_token
und die Tatsache, dass der Benutzer autorisierte Anfrage hat.Wie man Knoten-dbox Token zwischen Seitenaktualisierungen in NodeJS/Express
jedoch von der Zeit war ich die Seite für Schritt 1 und 2 (immer request_token
und die Bereitstellung Benutzer mit url) - request_token
Beispiel ist weg !, so in Schritt 3 I nicht für ein access_token
anfordern kann, weil es erfordert request_token
wird übergeben
Ich versuche, request_token
in einem Cookie zu speichern, aber vorausgesetzt, dass die vertraulichen Daten enthält, kann das Senden an den Client nicht so eine gute Idee sein. Irgendwelche Ideen?
Vereinfachte Code ist unten:
(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);
})();
Bonus-Frage: client
erstellt mit access_token
, also entweder Instanz von Client oder access_token
gehalten werden müssen, über Seite als auch aktualisiert, was ist der beste Ansatz?
Haben Sie jemals eine Lösung für diese bekommen? Ich kämpfe mit dem gleichen Ding - wie man von Dropbox zu meiner APP mit dem korrekten Zugangsmarker zurückleitet. – Lewis