2013-11-26 81 views
0

我在Node.js服務器中使用official Dropbox JS library。它只需要以單個用戶身份進行身份驗證,並且每次啓動服務器時都無法通過整個OAUTH瀏覽器設置。我試圖編寫一個僞裝驅動程序,假裝像NodeServer驅動程序,但直接使用始終保持相同的代碼運行回調。始終在Dropbox-js上使用相同的OAUTH代碼

這裏是我有(它的CoffeeScript的,但你的想法):

myAuthDriver = { 
    authType: -> return "code" 
    url: -> return "http://localhost:8912/oauth_callback" # What the url would be if I were using NodeServer 
    doAuthorize: (authUrl_s, stateParam, client, callback) -> 
     authUrl = url.parse(authUrl_s, true) 

     callback({ 
      code: "[a code I just got using the NodeServer driver]" 
      state: authUrl.query.state 
     }) 
} 

與此驅動程序集上運行authenticate導致此錯誤:

Dropbox OAuth error invalid_grant :: given "code" is not valid 

文檔說,這應該只發生在一個破壞的身份驗證驅動程序(但它沒有給出修復它的任何想法)。

有沒有人有更多的OAUTH或Dropbox的知識知道這裏有什麼問題?

注:我在幾個地方發現網上說的Dropbox OAUTH碼永不過期

回答

2

一旦你有一個OAuth 2訪問令牌,你可以做var client = new Dropbox.Client({token: '<your token>'});。根本不需要驗證驅動程序。

(如果您想獲得訪問令牌的簡單方法,請考慮使用https://dbxoauth2.site44.com。)

相關問題