/oauthsimple

Simple, standardized OAuth signature generator

Primary LanguagePHP

NAME

OAuthSimple - a very simple OAuth 1.0 signed request generator

SYNOPSIS

See source comments for usage examples

DESCRIPTION

OAuthSimple aids in building valid OAuth 1.0 requests. It does not perform token requests by itself, however you can use it to build the request calls.

I've tried to build the library to be fairly common so that if you're familiar with how it works in one language, you can use it in any other. Right now the following languages are supported: PHP, Javascript, Perl, Python. I'd love to add additional languages and may do so in the future. (I'd be happy to accept contributions, hint, hint.)

Guido Schlabitz has provided a useful example for how to use OAuthSimple to connect to Google http://github.com/jrconlin/oauthsimple/blob/master/php/example.php

Dave Bagler has provided a Composer Package https://packagist.org/packages/baglerit/oauthsimple. His fork has more details: https://github.com/BaglerIT/OAuthSimple

OAuthSimple accepts arguments in a variety of formats and returns a structure containing valid elements, including a fully structured URL, an Authorization header and the signature value. You should only use either the Authorization Header (as per the spec), or the fully structured URL. (Again, see source comments for appropriate usage.)

Please note that the Javascript version is not heavily optimized at this time. If you wish to use a more optimized version, please consult Anton Byrna's fork http://github.com/itrelease/oauthsimple

OAuth Developers may be interested in my OAuthTestPage at: http://jrconlin.github.com/OAuthTestPage/ This will display OAuth1a valid elements and values so you can verify things are working correctly. =head1 EXAMPLES

Node.js Installation

> npm install oauthsimple

Node.js Example

OAuthSimple = require('OAuthSimple')
oauth = new OAuthSimple("token", "secret")
request = oauth.sign({
  action: "GET",
  path: "http://api.netflix.com/catalog/people",
  parameters: { term: 'DeNiro' }
})

// then use any library to request the following url
request.signed_url

LICENSE

Code is released under a BSD licence.