0.2.4 • Published 9 years ago

oauth-1-client v0.2.4

Weekly downloads
99
License
MIT
Repository
github
Last release
9 years ago

oauth-1-client

Promise-based OAuth 1 client for node.js

Install

npm install oauth-1-client

Overview

Promise-based OAuth 1 client for node.js based on the node-auth library and client code from etsy-js.

Usage

Sample usage from a project using the ODesk API below.

var OAuth1Client = require('oauth-1-client');

var odeskClient = new OAuth1Client({
    key: odeskConfig.apiKey,
    secret: odeskConfig.sharedSecret,
    callbackURL: odeskConfig.callbackURL,
    requestUrl: 'https://www.odesk.com/api/auth/v1/oauth/token/request',
    accessUrl: 'https://www.odesk.com/api/auth/v1/oauth/token/access',
    apiHostName: 'www.odesk.com' 
});

Note: The apiHostName option is used to construct a base URL (https:// based) for all relative paths. See below.

Each method on the API returns back a Javascript promise object.

If using a version of node which supports ES6 generators, a sample usage might look like:

var response = yield odeskClient.requestToken();

var tempCredentials = {
    token: response.token,
    tokenSecret: response.tokenSecret
};

// Store `tempCredentials` somewhere and redirect user
// (there might be a URL provided in `response.authorizeUrl` - consult your OAuth provider docs).

Then in your OAuth callback:

var verifier = (get it from URL or request header depending on your provider);
var prevCredentials = (load previously stored credentials from above);
var response = yield odeskClient.accessToken(prevCredentials.token, prevCredentials.tokenSecret, verifier);

var finalCredentials = {
    token: response.token,
    tokenSecret: response.tokenSecret
};
// store `finalCredentials` somewhere

// Good to go now. Make sure to call .auth(...) function first to set the credentials:
var authODeskClient = odeskClient.auth(finalCredentials.token, finalCredentials.tokenSecret);

// Then use get/put/post/delte methods as you'd expect:
var relativeUrl = util.format('/gds/timereports/v1/providers/%s/hours', userRef);
var response = yield authODeskClient.get(relativeUrl, params);

License

MIT

0.2.4

9 years ago

0.2.3

9 years ago

0.2.2

10 years ago

0.2.1

10 years ago

0.2.0

10 years ago

0.1.4

10 years ago

0.1.3

10 years ago

0.1.2

10 years ago

0.1.1

10 years ago

0.1.0

10 years ago