Sign a URL for a 2-legged OAuth request. That's it.
Ruby
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
lib
test
.gitignore
.rvmrc
Gemfile
Gemfile.lock
LICENSE.txt
README.rdoc
Rakefile
crazylegs.gemspec

README.rdoc

Crazylegs - the hacky 2-legged OAuth Library

Author

Dave Copeland (dave@opower.com)

Copyright

Copyright © 2011 by Dave Copeland

License

Distributes under the Apache License, see LICENSE.txt in the source distro

Crazylegs is a very small library to sign urls for two-legged OAuth. This will not request urls for you, it will not parse a response for you, it will not give you some crazy DSL to abstract away the details. It will properly sign a URL using a consumer key and secret so that you can make an OAuth request for 2-legged auth. That's it.

Use

Install if you need to:

gem install crazylegs

Example

include Crazylegs
credentials = Credentials.new(consumer_key,shared_secret)
url = SignedURL.new(credentials,"http://api.example.com/api/customers",'GET')
url['accountNumber'] = '655321'
signed_url = url.full_url
# signed_url can now be requested of the remote server

# If you want to use the header-based version
url = SignedURL.new(credentials,"http://api.example.com/api/customers/12/address",'POST')
signed_url,headers = url.full_url_using_headers
# Now, you can POST signed_url as long as you included headers in your HTTP request

See Crazylegs::SignedURL and Crazylegs::Credentials for more info.

Seeing WTF is going on

logger = Logger.new(STDERR)
logger.level = Logger::DEBUG
url = SignedURL.new(credentials,"http://scrapi-demo-dev.opower.com/api/customers",'GET',logger)