【问题标题】:How to obtain a Token in an Autonomous Client (Username-Password Flow)如何在自治客户端中获取令牌(用户名-密码流程)
【发布时间】:2014-03-13 18:13:31
【问题描述】:

我正在尝试将grant_type=password oauth 流与Twitter API 一起使用。如何在nodejs 中实现此流程。

var twitterConsumerKey = '';
var twitterConsumerSecret = '';

var OAuth2 = require('oauth').OAuth2;
var oauth2 = new OAuth2(
    twitterConsumerKey,
    twitterConsumerSecret,
    'https://api.twitter.com/',
    null,
    'oauth2/token',
    null
);
oauth2.getOAuthAccessToken(
    '',
    {'grant_type':'client_credentials'},
    function (e, access_token, refresh_token, results){
        console.log('bearer: ',access_token);
    }
);

【问题讨论】:

标签: node.js twitter-oauth


【解决方案1】:

貌似推特支持Application Only Authentication。

我不熟悉 oauth 模块,但您可以使用 mikeal/request,如下所示:

var request = require('request');

request.post({
  url: 'https://api.twitter.com/',
  auth: {
    user: twitterConsumerKey,
    pass: twitterConsumerSecret
  },
  form: { grant_type:'client_credentials'},
  json: true
}, function (err, resp, body) {

  var token = body.access_token;

  //now you can use it for other APIs
  request.get({
    url: '....',
    headers: {
      Authorization: 'Bearer ' + token
    }
  }, function () {});

});

【讨论】:

  • 您的示例显示 { grant_type:'client_credentials'}。我正在寻找 { grant_type:'password'}。我想实现 oauth 客户端
  • 对不起,我误读了这个问题。然后你在寻找 oauth resource owner 流,我认为 twitter 不支持它。
  • 是的,我需要使用 npm 的资源所有者流。
猜你喜欢
  • 2020-09-15
  • 1970-01-01
  • 2021-08-31
  • 1970-01-01
  • 1970-01-01
  • 2023-04-05
  • 2015-09-19
  • 2011-09-16
  • 1970-01-01
相关资源
最近更新 更多