2016-03-12 49 views
1

使用API​​最小的供應商並且使用OAuth2的新供應商。使用npm包oauth和請求。OAuth2 - 得到令牌,如何使用POST請求發送?

創建一個將數據從數據庫發佈到服務器API的節點模塊。

我有授權令牌,但現在我不確定如何使用數據發佈請求發送該授權令牌。供應商服務器使用簡單的Cannot POST /accounts/import進行響應。

因此 - 如何將OAuth2令牌發回到發佈數據到服務器?

var request = require('request'), 
    clcreds = require('../../creds/creds.js'); 


var OAuth = require('oauth'); 
var OAuth2 = OAuth.OAuth2; 
var oauth2 = new OAuth2(clcreds.clientId, clcreds.clientSecret, 'https://URL.com/', null, 'token', null); 
oauth2.getOAuthAccessToken('', { 
    'grant_type': 'client_credentials' 
}, function(e, access_token, refresh_token, results) { 
    console.log(e, access_token, refresh_token, results); 

    request.post('https://URL.com/accounts/import', { 
    "accounts": [{ 
     ... 
    }] 
    }, function(e, r, body) { 
    //returns Cannot POST /accounts/import 
    }) 
}) 

回答

1

大多數資源服務器支持RFC 6750, 2.1. Authorization Request Header Field。如果您的服務器支持它,您可以通過添加Authorization標頭將訪問令牌傳遞到服務器,如下所示。

Authorization: Bearer YOUR-ACCESS-TOKEN 

如果您的服務器不支持RFC 6750定義的任何手段,你要問如何訪問令牌傳遞給服務器,服務器的實現者。