1.1.5 • Published 9 years ago

shared-access-signature v1.1.5

Weekly downloads
60
License
-
Repository
github
Last release
9 years ago

Shared Access Signature Generator for Node.js

This package allows you to easily generate a Shared Access Signature for use in REST API calls to Microsoft Azure services. Currently the package generates signatures that are suitable for use with Azure Service Bus (includng Event Hubs).

Why?

If you are working with Azure you might be wondering why this package exists given that there are already some Node.js packages. My reasoning is that I was working with some smaller embedded platforms which didn't support some of the packages that Microsoft's own package relied on, so this way I can have tighter control of the dependencies and a very simple package.

Usage

Using the package is easy. Just download and install it via NPM.

npm install shared-access-signature

Once the package is downloaded and installed you can call it by requiring in the bashared-access-signature package and calling the generateServiceBusSignature(url, sharedAccessKeyName, sharedAccessKey, expirty) method.

var sas = require('shared-access-signature');

var url = 'https://namespace.servicebus.windows.net/hubname/publishers/devicename/messages';
var sharedAccessKeyName = 'sample-key';
var sharedAccessKey = 'S4lxDeOkdGFgi7xbIVdBakWpxDaPitKsGFUPFxZKT14=';
var currentDate = new Date();
var expiry = currentDate.getTime() / 1000 + 3600; // We require expiry time in seconds since epoch.

var sas = require('shared-access-signature');
var signature = sas.generateServiceBusSignature(url, sharedAccessKeyName, sharedAccessKey, expiry);
console.log(signature);

The expiry parameter can also take a Date object which is helpful, I recommend checking out the awesome momentjs library to deal with dates and quickly generate Date objects projected into the future.

...
var moment = require('moment');
var expiry = moment().add(1, 'day').toDate();
var signature = sas.generateServiceBusSignature(url, sharedAccessKeyName, sharedAccessKey, expiry);

Contributions

If you find any bugs or would like to see a feature fork the code and submit a pull request, otherwise raise and issue.

1.1.5

9 years ago

1.1.4

9 years ago

1.1.3

9 years ago

1.1.2

9 years ago

1.1.1

9 years ago

1.0.2

9 years ago

1.0.1

9 years ago

1.0.0

9 years ago