Articles of dropbox api

使用dropboxjs用oauthauthentication客户端2.服务器呢?

我是Oauth和服务器端的新手,所以请耐心等待。 我有一个web应用程序,用dropbox-jsvalidation用户。 一切都很简单。 应用程序使用dropbox-js的client.authenticate函数,如果用户通过身份validation,应用程序会自动redirect到初始页面,在那里执行身份validationcallback。 从那一刻起,我知道我很高兴地使用Dropbox进行身份validation,并且可以使用应用程序的Dropbox目录进行操作。 我有一个公共node.js服务器,目前什么都不做。 我想要做的是: 一旦客户端通过身份validation,请致电我的服务器,并告诉用户已通过身份validation 如果用户不存在于服务器数据库中,则为其创build用户数据库的条目(我不需要详细说明来执行此操作)。 如果存在,则发回用户的相关数据。 我怎样才能以安全的方式做到这一点? 我的意思是,服务器如何告诉用户是一个有效的Dropbox用户? 服务器是否应该使用用户凭证对Dropbox进行身份validation? 这些情况下的工作stream程是什么?

错误:未能在会话中find请求令牌

我在主要的护照回购中发现了一些问题,但是,我认为这主要与这个特定的策略有关,因为我能够使用护照 – 谷歌 – 奥法策略成功validation身份。 Error: failed to find request token in session at Strategy.OAuthStrategy.authenticate (/home/glug/application/node_modules/passport-dropbox/node_modules/passport-oauth/lib/passport-oauth/strategies/oauth.js:124:54) at attempt (/home/glug/application/node_modules/passport/lib/passport/middleware/authenticate.js:243:16) at Passport.authenticate (/home/glug/application/node_modules/passport/lib/passport/middleware/authenticate.js:244:7) at callbacks (/home/glug/application/node_modules/express/lib/router/index.js:161:37) at param (/home/glug/application/node_modules/express/lib/router/index.js:135:11) at pass (/home/glug/application/node_modules/express/lib/router/index.js:142:5) at Router._dispatch (/home/glug/application/node_modules/express/lib/router/index.js:170:5) at Object.router (/home/glug/application/node_modules/express/lib/router/index.js:33:10) at Context.next (/home/glug/application/node_modules/express/node_modules/connect/lib/proto.js:190:15) at Context.actions.pass (/home/glug/application/node_modules/passport/lib/passport/context/http/actions.js:77:8) 我使用redis作为会话存储,但是,即使在消除之后,它仍然失败,出现相同的错误消息。 var DropboxStrategy = require('passport-dropbox').Strategy; app.configure(function(){ app.set('port', config.express.port); app.use(express.favicon()); app.use(express.logger('dev')); app.use(express.bodyParser()); app.use(express.methodOverride()); […]

不使用基于浏览器的oauth身份validation,将文件从节点j传输到Dropbox

我正在从heroku运行一个基于nodejs + express的api服务器,并使用dropbox-js库。 这是我想要做的: 用户点击特定的API端点并启动进程。 通过节点进程生成一些文本文件并将其保存在服务器上 将这些文件传输到我自己使用我自己的凭据(用户和Dropbox应用程序)的保pipe箱。 当随机用户需要这样做的时候,永远不会有这样的情况。这是一个团队帐户,这是一个内部工具。 绊倒我的部分是,Dropbox想要打开一个浏览器窗口,并获得我的许可连接到应用程序。 问题是我显然不能在heroku实例上运行进程时点击button。 有没有办法让我完全授权在节点上访问应用程序? 我觉得我可以使用一个幻灯片过程来点击button – 但它似乎太复杂了,我想避免它,如果可能的话。 这是我的validation码: // Libraries var Dropbox = require('dropbox'); var DROPBOX_APP_KEY = "key"; var DROPBOX_APP_SECRET = "secret"; var dbClient = new Dropbox.Client({ key: DROPBOX_APP_KEY, secret: DROPBOX_APP_SECRET, sandbox: false }); dbClient.authDriver(new Dropbox.Drivers.NodeServer(8191)); dbClient.authenticate(function(error, client) { if (error) { console.log("Some shit happened trying to authenticate […]