1.0.1 • Published 10 years ago

oauth-reverse-proxy v1.0.1

Weekly downloads
2
License
MIT
Repository
github
Last release
10 years ago

oauth-reverse-proxy

Express/Connect middleware for reverse proxying OAuth 1 web services. Can be used to perform OAuth-protected service calls without exposing consumer and token key pairs on the client side.

npm install oauth-reverse-proxy

Usage

var app = require('express')();
var when = require('when');

app.use(require('oauth-reverse-proxy').oauth1({
	endpoint: '/api/',
	target: 'https://api.twitter.com/1.1/',
	provider: function(req) {
		return when({
			consumerKey: 'eWudHldSbIaelX7swmsiHImEL4KinwaGloHANdrY',
			consumerSecret: '2EEfA6BG3ly3sR3RjE0IBSnlQu4ZrUzPiYKmrkVU',
			tokenKey: 'Z6eEdO8MOmk394WozF5oKyuAv855l4Mlqo7hhlSLik',
			tokenSecret: 'Kd75W4OQfb2oJTV0vzGzeXftVAwgMnEK9MumzYcM'
		});
	},
	credentials: {
		consumerKey: 'eWudHldSbIaelX7swmsiHImEL4KinwaGloHANdrY',
		consumerSecret: '2EEfA6BG3ly3sR3RjE0IBSnlQu4ZrUzPiYKmrkVU',
		tokenKey: 'Z6eEdO8MOmk394WozF5oKyuAv855l4Mlqo7hhlSLik',
		tokenSecret: 'Kd75W4OQfb2oJTV0vzGzeXftVAwgMnEK9MumzYcM'
	}
}));

http://mywebsite.com/api/statuses/user_timeline.json will proxy https://api.twitter.com/1.1/statuses/user_timeline.json.

endpoint: Website path that will be used as an endpoint for API requests.

target: Target API URL.

provider: OAuth credentialsprovider. A Function that will be invoked for each API request. Takes req argument with the current request object. Must return a promise with a credentials object, {} for unauthorized API calls or null to send a 401 error to a client.

credentials (optional): static OAuth credentials to use for all requests.

signatureMethod (optional): OAuth signature method. Defaults to HMAC-SHA1.

keepCookies (optional): Keep cookies header in API requests. Defaults to false.