BitAuth authentication strategy for PassportJS.
MIT License
BitAuth authentication strategy for PassportJS.
Please note! This authenticates the request, it does not authorize it. You should think about how your application's permission structure is organized; there is a different between a user and a user who is permitted to perform an action.
// assuming you have an express application...
// if not: `var app = require('express')();`
// include the auth strategy
var BitAuthStrategy = require('../lib').Strategy;
// an example datastore
// in production, this is likely a real database
var users = {
'Tf7UNQnxB8SccfoyZScQmb34V2GdEtQkzDz': {
name: 'Alice',
sin: 'Tf7UNQnxB8SccfoyZScQmb34V2GdEtQkzDz'
},
'Tf22EUFxHWh4wmA3sDuw151W5C5g32jgph2': {
name: 'Bob',
sin: 'Tf22EUFxHWh4wmA3sDuw151W5C5g32jgph2'
}
}
passport.use(new BitAuthStrategy(
function(sin, done) {
if (!users[ sin ]) { return done( null , false ); }
return done( null , users[ sin ] );
}
));
app.use( passport.initialize() );
app.get( '/authenticated-endpoint', passport.authenticate('bitauth'), function(req, res, next) {
res.send('this request has been authenticated!');
});