#Overview
An OAuth 1.0 node.js library suited for 0-legged OAuth.
It provides oauth signature functionality independently as well as an http client which uses it internally to sign requests.
#Installation
You can be fancy and clone the repo from here, or install npm and run:
npm install oauth-zero-legged
The include you must specify:
require('Signer') or require('Client')
#Usage
##Signer
var signerLib = require('Signer');
var signer = signerLib.createSigner("MyUsername", "MyPassword");
var signatureBaseString = signer.calcSignatureBaseString("GET", "http://photos.example.net/photos?file=vacation.jpg&size=original");
var signature = signer.calcOAuthSignature("POST", "http://photos.example.net/photos?file=vacation.jpg&size=original", { "another_param": "its value" });
var authorizationHeader1 = signer.calcOAuthSignature("PUT", "http://photos.example.net/photos", {}, "1419259401");
var authorizationHeader2 = signer.calcOAuthSignature("PUT", "http://photos.example.net/photos", {}, null, "JuXH8bgWisr");
##Client
var clientLib = require('Client');
var client = clientLib.Client();
var options = {
"method": "GET",
"url": "http://photos.example.net/photos?file=vacation.jpg&size=original",
"headers": {
"Content-Type": "application/json"
}
}
var my_success_callback = function(response) {
var responseStatusCode = response.statusCode;
var responseHeaders = response.headers;
var responseHttpVersion = response.httpVersion;
var responseBody = response.body;
}
var my_failure_callback = function(response) {
var responseCode = response.code;
var responseErrno = response.errno;
var responseSyscall = response.syscall;
}
client.request(options, my_success_callback, my_failure_callback, "MyUsername", "MyPassword");
client.request(options, my_success_callback, my_failure_callback);
#Tests
Require mocha.js and should.js.
Executed by running npm test.
Contributing
In lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code.
Release History
(Nothing yet)
Issues
Please use the github issues list to report any issues. If possible, please include a link to an open github repo with the smallest failing example of your issue. Even better, fork the project, create a failing test case and issue a pull request with the issue number referenced in the pull request. Super better, fork the project create a failing test case, fix the problem, and issue a pull request with the test and fix referencing the issue number.