node package manager

auther

(Auth)entification and (Auth)orization middleware for express.js

Auther

Simple Authorization middleware for express.js.

Validates access to resources based on express route parameters.

npm install auther
var auther = require('auther');


...

app.get('/company/:cid', auther.isAuthorized('admin', 'managers'), companyRoutes.get)	
...


	
// With passport.js
var setupFacebook = function() {
	...

	autheur.initUser(user, rolesToResourcesHash, function(err) {

	...
}



var rolesToResourcesHash = {
	admin: function(user, cb) {
		var roleToResources = {}

		roleToResources['cid'] = [companyId];

		done(null, roleToResources);
	}, 
	...
}

For each role in your application, implament a load_XXX function. First argument is the user object created in the authentication phase. Populate the user.AOHash for each of the resource types.