An HTTP proxy that signs OAuth 1.0a requests
I am an OAuth 1.0a proxy server. You can pass unsigned requests to me and I will sign them using OAuth before sending them to their eventual destination.
Tokens and consumer keys are configurable only at start-time, so individual
proxies are limited to a single pair at a time. 2-legged OAuth (often used in
lieu of API keys) is supported by omitting
This looks awfully similar to mojodna/oauth-proxy, so...why?
I got frustrated with the apparent inability to effectively package Twisted plugins and figured that I would take advantage of Internet Progress to build an ever-so-slightly more flexible version.
$ npm install -g oauth-proxy
Run the proxy with the provided
$ oauth-proxy \--consumer-key <consumer key> \--consumer-secret <consumer secret> \[--token <token>] \[--token-secret <token secret>] \[-p <proxy port>] \[--ssl]
If you'd like to run the proxy as a daemon, run it in a screen or something
$PORT is an alternative way to set the proxy port, so it's Heroku-compatible
if that's your bag).
This proxy can be used with command-line tools and web browsers alike.
To use it with
$ curl -x localhost:8001 http://host.name/path
To use it with
$ ab -X localhost:8001 http://host.name/path
To use it with Firefox, open the Network settings panel, under Advanced, and set a "Manual Proxy Configuration" after clicking the "Settings..." button. Ensure that "No Proxy for" does not include the host that you are attempting to explore.
PORT- proxy port. Defaults to
OAUTH_CONSUMER_KEY- (optional) OAuth Consumer Key. Equivalent to passing
OAUTH_CONSUMER_SECRET- (optional) OAuth Consumer Secret. Equivalent to passing
OAUTH_TOKEN- (optional) OAuth Access Token. Equivalent to passing
OAUTH_TOKEN_SECRET- (optional) OAuth Token Secret. Equivalent to passing
More information on using an ancestor of this proxy, including instructions for obtaining access tokens, is available in Exploring OAuth-Protected APIs.
Copyright (c) 2013 Seth Fitzsimmons
Published under the MIT license.