accountdown-token

0.1.2 • Public • Published

accountdown-token NPM version

Token authentication for accountdown

Install with npm

$ npm i accountdown-token --save

Running tests

Install dev dependencies:

$ npm i -d && npm test

Usage

var Token = require('accountdown-token');
var accountdown = require('accountdown');
var level = require('level');
 
var db = level('tmp/users.db');
var users = accountdown(db, {
  login: {
    token: Token
  }
});
 
var username = 'doowb';
var opts = {
    login: { token: { username: username, token: 'foobarbaz' } },
    value: { name: 'Brian' }
};
 
users.create(username, opts, function (err) {
  if (err) return console.log('Error creating user', err);
 
  users.verify('token', opts.login.token, function (err, ok, id) {
    if (err) return console.log('Error', err);
    if (ok === false) return console.log('Invalid token for ' + id);
    console.log('Valid token for ' + id);
  });
});

API

.verify

Verify that the token is correct and still valid (e.g. not expired)

Params

  • creds {Object}: Credentials object containing a username and token to validate.
  • cb {Function}: Callback that takes err, ok, id

Example

login.verify({ username: 'doowb', token: 'XXXXXXXXXXXX' }, function (err, ok, id) {
  if (err) return console.log('Error validating token');
  if (ok === true) return console.log('valid token for ' + id);
  console.log('Invalid token for ' + id);
});

.create

Create a new user token for the given id and credentials.

Params

  • id {String}: Identifier of the account being created.
  • creds {Object}: Credentials object used for creating the token.
  • returns {Array}: Array of rows to be added to the accountdowndatabase

Example

login.create('doowb', { username: 'doowb' });

Related projects

  • accountdown: persistent accounts backed to leveldb
  • level: Fast & simple storage - a Node.js-style LevelDB wrapper (a convenience package bundling LevelUP &… more
  • levelup: Fast & simple storage - a Node.js-style LevelDB wrapper
  • leveldown: A Node.js LevelDB binding, primary backend for LevelUP

Contributing

Pull requests and stars are always welcome. For bugs and feature requests, please create an issue

Author

Brian Woodward

License

Copyright © 2015 Brian Woodward Released under the MIT license.


This file was generated by verb-cli on July 23, 2015.

Readme

Keywords

none

Package Sidebar

Install

npm i accountdown-token

Weekly Downloads

2

Version

0.1.2

License

MIT

Last publish

Collaborators

  • doowb