@yodasws/node-oauth

1.0.0 • Public • Published

@yodasws/node-oauth

A simple oauth API for node.js. This API allows users to authenticate against OAUTH providers and thus act as OAuth consumers.

OAuth1.0A tested against Twitter (http://twitter.com), term.ie (http://term.ie/oauth/example/), TwitPic, Yahoo!, and Ally Invest.

Rudimentary OAuth2 supported and tested against Facebook, GitHub, foursquare, Google, and Janrain.

It also has support for OAuth Echo, which is used for communicating with 3rd party media providers such as TwitPic and yFrog.

Installation

yarn add @yodasws/node-oauth
npm install @yodasws/node-oauth

Examples

To run examples/tests install Mocha:

npm install -g mocha` and run `$ mocha you-file-name.js

OAuth1.0

const oauth = require('oauth');

const api = new oauth.OAuth(
	config.request_token_url,
	config.access_token_url,
	config.application_key,
	config.application_secret,
	'1.0',
	null,
	'HMAC-SHA1'
);

api.get(
	`${config.api_url}/accounts.json`,
	config.access_token,
	config.access_secret,
	(error, data, response) => {
		if (error) console.log(error);
		console.log(data);
	}
);

Streaming Response

const stream = api.get(
	`${config.stream_url}/market/quotes.json`,
	config.access_token,
	config.access_secret
	// Notice no callback function. Get response below
);
stream.on('response', (response) => {
	response.setEncoding('utf8');
	response.on('data', (data) => {
		console.log(data);
	});
});
stream.end();

OAuth2.0

Test suite requires Mocha.

describe('OAuth2', () => {
  const OAuth = require('oauth');

   it('gets bearer token', (done) => {
     const twitterConsumerKey = 'your key';
     const twitterConsumerSecret = 'your secret';
     const oauth2 = new OAuth.OAuth2(
       twitterConsumerKey,
       twitterConsumerSecret,
       'https://api.twitter.com/',
       null,
       'oauth2/token',
       null
     );
     oauth2.getOAuthAccessToken(
       '',
       {
         grant_type: client_credentials,
       },
       (e, access_token, refresh_token, results) => {
         console.log('bearer: ', access_token);
         done();
       }
     );
   });

Readme

Keywords

none

Package Sidebar

Install

npm i @yodasws/node-oauth

Weekly Downloads

0

Version

1.0.0

License

MIT

Unpacked Size

124 kB

Total Files

21

Last publish

Collaborators

  • yodasws