Manage authentication credentials.
npm install --save township-auth
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)
})
})
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.
Return an account for a given account key (uuid).
Return an account for any key on a provider.
List all entries in the database. options
is passed internally to
levelup.createReadStream().
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
Update an account
Delete an account
Verify an account for a provider name. opts
is the data objec that is
verified by the provider's .verify
function
- 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
Contributions are welcome! Please read the contributing guidelines first.
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
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.