township-auth
v3.0.0
Published
authentication library
Downloads
30
Readme
township-auth
Manage authentication credentials.
Install
npm install --save township-auth
Usage
var level = require('level')
var basic = require('township-auth/basic')
var db = level('db')
var auth = require('township-auth')(db, {
providers: { basic: basic }
})
auth.create({
basic: {
email: '[email protected]',
password: 'supersecret'
}
}, function (err, account) {
auth.verify('basic', {
email: '[email protected]',
password: 'supersecret'
}, function (err, result) {
console.log(err, result)
})
})
API
auth = Auth(db, providers)
Create a new instance of township-auth
. Takes a levelup
instance and an
object with auth providers. Creates a sublevel named 'township-auth'
on the
levelup
instance.
auth.get(key, callback(err, account))
Return an account for a given account key (uuid).
auth.findOne(provider, key, callback(err, result))
Return an account for any key on a provider.
readableStream = auth.list(options)
List all entries in the database. options
is passed internally to
levelup.createReadStream().
auth.create(opts, callback(err, account))
Create a new account. opts
must contain a key that maps to a provider created
in the auth constructor. E.g. if a basic
provider was passed into the auth
constructor, basic
account can be created by using opts.basic
auth.update(opts, callback(err, account))
Update an account
auth.destroy(key, callback(err, account))
Delete an account
auth.verify(provider, opts, callback(err, account))
Verify an account for a provider name. opts
is the data objec that is
verified by the provider's .verify
function
See also
- township - JSON API handlers for your server endpoints
- township-client - JSON API client for your client applications
- township-accounts - high-level wrapper around township-auth, township-access, township-token
- township-access - manage access authorization scopes
- township-token - create & decode JWT tokens with township auth/access data
Similar modules
Contributing
Contributions are welcome! Please read the contributing guidelines first.
Conduct
It's important that this project contributes to a friendly, safe, and welcoming environment for all, particularly for folks that are historically underrepresented in technology. Read this project's code of conduct
Change log
Read about the changes to this project in CHANGELOG.md. The format is based on Keep a Changelog and this project adheres to Semantic Versioning.