Skip to content
This repository was archived by the owner on Sep 20, 2022. It is now read-only.

Turbasen/node-turbasen-auth

Folders and files

NameName
Last commit message
Last commit date

Latest commit

author
Hans Kristian Flaatten
Feb 15, 2016
ab26cd2 · Feb 15, 2016

History

80 Commits
Jul 23, 2015
Jul 23, 2015
Jul 23, 2015
Jun 18, 2015
Jun 17, 2015
Jul 24, 2015
Feb 15, 2016
Jul 23, 2015
Feb 15, 2016
Feb 15, 2016
Feb 15, 2016

Repository files navigation

Nasjonal Turbase Auth

Build status NPM downloads NPM version Node version Dependency status

Authenticate group (grupper) users in Nasjonal Turbase with 0 effort. Just install, and start using it.

Requirements

  1. Node.JS >= 0.10
  2. Nasjonal Turbase API key

Install

npm install turbasen-auth --save

Test

npm test

Usage

var auth = require('turbasen-auth');

Configure

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 requests
  • NTB_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.

auth.authenticate()

Authenticate user against Nasjonal Turbase.

Params

  • string email - user email
  • string password - user password
  • string callback - callback function (Error error, object user)

Return

The returned user object contains navn (name), epost (email), and gruppe (group).

{
  "navn": "Foo User Name",
  "epost": "foo@bar.com",
  "gruppe": {
    "_id": "54759eb3c090d83494e2d804",
    "navn": "Bix Group Name"
  }
}

Example

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!');
  }
});

auth.middleware()

A Connect / Express compatible middleware to make authentication super easy.

Body Params

The following params must be sent as JSON in the request body.

  • string email - user email
  • string password - user password

Return

If the authentication succeeds the user information (identical to authenticate()) will be available in the req.turbasenAuth variable.

Example

See server.js for a complete Express example.

app.post('/auth', auth.middleware, function(req, res){
  // req.turbasenAuth
});

auth.createUserAuth()

Create user authentication object for storage in Nasjonal Turbase.

Params

  • string name - user name
  • string email - user email
  • string password - user password
  • string callback - callback function (Error error, object user)

Return

The returned user object contains navn (name), epost (email), and pbkdf2 (user authentication).

{
  "navn": "Foo User Name",
  "epost": "foo@bar.com",
  "pbkdf2": {
    "prf": "HMAC-SHA1",
    "itrs": 131072,
    "salt": "XO6rZj9WG1UsLEsAGQH16qgZpCM9D7VylFQzwpSmOEo=",
    "dkLen": 256,
    "hash": "Ir/5WTFgyBJoI3pJ8SaH8qWxdgZ0my6qcOPVPHnYJQ4="
  }
}

Example

auth.createUserAuth(name, email, password, function(error, user) {
  if (error) {
    throw error;
  }

  console.log(user);
  }
});

About

Authenticate group users in Nasjonal Turbase

Resources

License

Stars

Watchers

Forks

Packages

No packages published