Socket
Socket
Sign inDemoInstall

accountdown-basic

Package Overview
Dependencies
7
Maintainers
1
Versions
2
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

accountdown-basic

username/password authentication for accountdown using salted hashes


Version published
Maintainers
1
Weekly downloads
14
increased by250%

Weekly downloads

Readme

Source

accountdown-basic

username/password authentication for accountdown using salted hashes

build status

example

create an account

var accountdown = require('accountdown');
var level = require('level');
var db = level('/tmp/users.db');

var users = accountdown(db, {
    login: { basic: require('accountdown-basic') }
});

var user = process.argv[2];
var pass = process.argv[3];
var bio = process.argv[4];

var opts = {
    login: { basic: { username: user, password: pass } },
    value: { bio: bio }
};
users.create(user, opts, function (err) {
    if (err) console.error(err);
});

verify credentials

var accountdown = require('accountdown');
var level = require('level');
var db = level('/tmp/users.db');

var users = accountdown(db, {
    login: { basic: require('accountdown-basic') }
});

var creds = {
    username: process.argv[2],
    password: process.argv[3]
};
users.verify('basic', creds, function (err, ok) {
    if (err) console.error(err)
    else console.log('verified:', ok)
});

With these two programs, we can create an account and then verify the user/pass:

$ node example/create.js substack beepboop 'oh hello'
$ node example/verify.js substack beepboop
verified: true
$ node example/verify.js substack bleep
verified: false

without accountdown

Modules should be written to be useful on their own where possible. You can use this module without accountdown too:

var level = require('level');
var db = level('/tmp/users.db', {
    keyEncoding: require('bytewise'),
    valueEncoding: 'json'
});
var basic = require('../');
var batch = require('level-create-batch');

var b = basic(opts, [ 'login', 'basic' ]);

var user = process.argv[2];
var pass = process.argv[3];

var creds = { username: user, password: pass };
batch(db, b.create(user, creds));

methods

var basic = require('accountdown-basic')

var b = basic(db, prefix, opts)

Return a basic auth instance b given a database handle db and an array prefix prefix.

Optionally set an opts.key to use a different key as the identity than username.

b.create(id, creds)

Create a new login for the account identified by id with creds, an object with username and password properties.

Return an array of rows that can be fed into level-create-batch.

b.verify(creds, cb)

Verify creds, a username with username and password properties.

cb(err, success, id) fires with any errors or a boolean success and the account identifier id.

install

With npm do:

npm install accountdown-basic

license

MIT

Keywords

FAQs

Last updated on 25 May 2015

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc