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.
string
email - user emailstring
password - user passwordstring
callback - callback function (Error
error,object
user)
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.
string
email - user emailstring
password - 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.
string
name - user namestring
email - user emailstring
password - user passwordstring
callback - callback function (Error
error,object
user)
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);
}
});