Skip to content

saaslify/request-oauth

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

request-oauth

npm-version travis-ci coveralls-status

OAuth support for request-compose

var compose = require('request-compose')
compose.Request.oauth = require('request-oauth')
var request = compose.client

;(async () => {
  try {
    var {body} = await request({
      url: 'https://api.twitter.com/1.1/users/show.json',
      qs: {
        screen_name: '[SCREEN NAME]'
      },
      oauth: {
        consumer_key: '[APP ID]',
        consumer_secret: '[APP SECRET]',
        token: '[ACCESS TOKEN]',
        token_secret: '[ACCESS SECRET]',
      }
    })
    console.log(body)
  }
  catch (err) {
    console.error(err)
  }
})()

Table of Contents

OAuth Options

Required
  • consumer_key OAuth application key
  • consumer_secret OAuth application secret
  • private_key in PEM format, set this key instead of consumer_secret when using RSA-SHA1 signing
  • token user's access token
  • token_secret user's token secret
Defaults
  • version 1.0
  • signature_method HMAC-SHA1 | RSA-SHA1 | PLAINTEXT
  • transport_method type header | query | form
Generated
  • timestamp
  • nonce
  • signature
Optional
  • realm
  • body_hash pass you own Body Hash as string or pass true to get one generated for you

Internal API

Required
  • oauth {} see OAuth Options
  • uri url.parse()'d object
  • method GET | POST ..
Optional
  • query a=1&b=2
  • form a=1&b=2
  • body {a:1,b:2}

Result

Error
var result = oauth(options)
if (result instanceof Error) {
  // handle error
}
Success
var result = oauth(options)

var transport = options.oauth.transport_method || 'header'
if (transport === 'header') {
  req.headers['authorization'] = result
}
else if (transport === 'query') {
  // append result to your querystring
}
else if (transport === 'body') {
  // append result to your form body
}

About

OAuth 1.0 Client

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

  • JavaScript 100.0%