Authenticate group (grupper) users in Nasjonal Turbase with 0 effort. Just install, and start using it.
- Node.JS >= 0.10
- Nasjonal Turbase API key
npm install turbasen-auth --save
npm test
var auth = require('turbasen-auth');This package uses the official Node.JS library for Nasjonal Turbase (turbasen.js) which can be fully configured using the environment variables:
NTB_API_KEY- API key for authenticate requestsNTB_API_ENV- API environment (default api, can be dev)NTB_USER_AGENT- User Agent for API requests
You can also set or update the configuration programmatically using the
auth.turbasen.configure()
method.
Authenticate user against Nasjonal Turbase.
stringemail - user emailstringpassword - user passwordstringcallback - callback function (Errorerror,objectuser)
The returned user object contains navn (name), epost (email), and gruppe
(group).
{
"navn": "Foo User Name",
"epost": "[email protected]",
"gruppe": {
"_id": "54759eb3c090d83494e2d804",
"navn": "Bix Group Name"
}
}auth.authenticate(email, password, function(error, user) {
if (error) {
// Something went horrible wrong
console.error(error);
} else if (user) {
console.log('Hello %s!', user.navn);
} else {
console.log('Authentication failed!');
}
});A Connect / Express compatible middleware to make authentication super easy.
The following params must be sent as JSON in the request body.
stringemail - user emailstringpassword - user password
If the authentication succeeds the user information (identical to
authenticate()) will be available in the req.turbasenAuth variable.
See server.js for a complete Express example.
app.post('/auth', auth.middleware, function(req, res){
// req.turbasenAuth
});Create user authentication object for storage in Nasjonal Turbase.
stringname - user namestringemail - user emailstringpassword - user passwordstringcallback - callback function (Errorerror,objectuser)
The returned user object contains navn (name), epost (email), and pbkdf2
(user authentication).
{
"navn": "Foo User Name",
"epost": "[email protected]",
"pbkdf2": {
"prf": "HMAC-SHA1",
"itrs": 131072,
"salt": "XO6rZj9WG1UsLEsAGQH16qgZpCM9D7VylFQzwpSmOEo=",
"dkLen": 256,
"hash": "Ir/5WTFgyBJoI3pJ8SaH8qWxdgZ0my6qcOPVPHnYJQ4="
}
}auth.createUserAuth(name, email, password, function(error, user) {
if (error) {
throw error;
}
console.log(user);
}
});