2.0.0 • Published 9 years ago

turbasen-auth v2.0.0

Weekly downloads
7
License
MIT
Repository
github
Last release
9 years ago

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

MIT Licensed

2.0.0

9 years ago

2.0.0-rc.1

10 years ago

1.2.3

10 years ago

1.2.2

10 years ago

1.2.1

10 years ago

1.2.0

10 years ago

1.1.3

10 years ago

1.1.2

10 years ago

1.1.1

10 years ago

1.1.0

11 years ago

1.0.0

11 years ago