oauth-sign
Advanced tools
Comparing version 0.8.2 to 0.9.0
34
index.js
var crypto = require('crypto') | ||
, qs = require('querystring') | ||
; | ||
function sha1 (key, body) { | ||
return crypto.createHmac('sha1', key).update(body).digest('base64') | ||
function sha (key, body, algorithm) { | ||
return crypto.createHmac(algorithm, key).update(body).digest('base64') | ||
} | ||
function rsa (key, body) { | ||
return crypto.createSign("RSA-SHA1").update(body).sign(key, 'base64'); | ||
return crypto.createSign('RSA-SHA1').update(body).sign(key, 'base64') | ||
} | ||
@@ -20,3 +18,2 @@ | ||
.replace(/'/g,'%27') | ||
; | ||
} | ||
@@ -34,5 +31,5 @@ | ||
arr.push([key, val[i]]) | ||
else if (typeof val === "object") | ||
else if (typeof val === 'object') | ||
for (var prop in val) | ||
arr.push([key + '[' + prop + ']', val[prop]]); | ||
arr.push([key + '[' + prop + ']', val[prop]]) | ||
else | ||
@@ -91,5 +88,15 @@ arr.push([key, val]) | ||
return sha1(key, base) | ||
return sha(key, base, 'sha1') | ||
} | ||
function hmacsign256 (httpMethod, base_uri, params, consumer_secret, token_secret) { | ||
var base = generateBase(httpMethod, base_uri, params) | ||
var key = [ | ||
consumer_secret || '', | ||
token_secret || '' | ||
].map(rfc3986).join('&') | ||
return sha(key, base, 'sha256') | ||
} | ||
function rsasign (httpMethod, base_uri, params, private_key, token_secret) { | ||
@@ -122,2 +129,5 @@ var base = generateBase(httpMethod, base_uri, params) | ||
break | ||
case 'HMAC-SHA256': | ||
method = hmacsign256 | ||
break | ||
case 'PLAINTEXT': | ||
@@ -128,3 +138,3 @@ method = plaintext | ||
default: | ||
throw new Error("Signature method not supported: " + signMethod) | ||
throw new Error('Signature method not supported: ' + signMethod) | ||
} | ||
@@ -136,2 +146,3 @@ | ||
exports.hmacsign = hmacsign | ||
exports.hmacsign256 = hmacsign256 | ||
exports.rsasign = rsasign | ||
@@ -141,3 +152,2 @@ exports.plaintext = plaintext | ||
exports.rfc3986 = rfc3986 | ||
exports.generateBase = generateBase | ||
exports.generateBase = generateBase |
@@ -5,3 +5,3 @@ { | ||
"description": "OAuth 1 signing. Formerly a vendor lib in mikeal/request, now a standalone module.", | ||
"version": "0.8.2", | ||
"version": "0.9.0", | ||
"license": "Apache-2.0", | ||
@@ -8,0 +8,0 @@ "repository": { |
@@ -5,1 +5,8 @@ oauth-sign | ||
OAuth 1 signing. Formerly a vendor lib in mikeal/request, now a standalone module. | ||
## Supported Method Signatures | ||
- HMAC-SHA1 | ||
- HMAC-SHA256 | ||
- RSA-SHA1 | ||
- PLAINTEXT |
13805
124
11