township-auth v3.0.0
township-auth
Manage authentication credentials.
Install
npm install --save township-authUsage
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: 'hi@example.com',
password: 'supersecret'
}
}, function (err, account) {
auth.verify('basic', {
email: 'hi@example.com',
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.