OAuth2 - 获得令牌,如何使用POST请求发送?

时间:2016-03-12 01:58:55

标签: node.js oauth

使用API​​最少的供应商和OAuth2的新手。使用npm包oauth和request。

创建一个节点模块,将数据从数据库发布到服务器的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 个答案:

答案 0 :(得分:1)

大多数资源服务器都支持RFC 6750, 2.1. Authorization Request Header Field。如果您的服务器支持它,您可以通过添加 for ($k = 0; $k < $jobAssignmentCount; $k++) { $randomDate = $faker->dateTimeBetween($job->starts_at, '+6 months'); $dateTime = Carbon::instance($randomDate)->minute(0)->second(0); $start = $dateTime; $end = $dateTime; $end->addHours(4); $jobAssignment = JobAssignment::create([ 'job_id' => $job->id, 'starts_at' => $start, 'ends_at' => $end, 'assignment_notes' => 'Assignment Notes', 'is_cancelled' => $faker->boolean(10), 'cancelled_at' => $faker->dateTimeBetween('+6 months', '+1 year'), 'cancelled_by_profile_id' => $profile->id, 'is_billable' => $faker->boolean(75), ]); } 标头将访问令牌传递到服务器,如下所示。

Authorization

如果您的服务器不支持RFC 6750中定义的任何方法,则必须询问服务器的实现者如何将访问令牌传递给服务器。