Township Auth Client Module
Client library to login, register, and change passwords for users using township auth server(s).
Features
- Manage user credentials for many Township servers.
- Login, Register, and Change Password auth requests.
- Login information is persisted to a configuration file.
Usage
var TownshipClient = var client = client client
API
var township = Township(opts)
Options include:
opts = server: 'https://api.township.com'// Township API server config: filename: '.townshiprc' // configuration filename (stored in os homedir) filepath: '~/.townshiprc' // specify a full config file path routes: // routes for ALL township servers used by client register: '/register' login: '/login' updatePassword: '/updatepassword'
opts.server
can be set once on initialization or during each request. The client can handle multiple servers. opts.server
can be passed with each request if the request should go to a different server than the client was initialized with.
Auth Requests
township.register(opts, cb)
Register a user and receive a token. opts.email
and opts.password
required.
township.login(opts, cb)
Login a registered user. opts.email
and opts.password
required
township.logout(opts, cb)
Logout from a server. Will logout of current server or opts.server
, if provided.
township.changePassword(opts, cb)
Reset password for a registered user. opts.email
, opts.password
, and opts.newPassword
required. User must have a valid login token saved before changing password.
township.secureRequest(opts, cb)
Make a secure request to the server. opts
are passed to the request function. The opts
should include opts.method
and opts.url
.
opts.url
will be prefixed by the auth server if not already.
township.getLogin([server])
Get login information for a server
. If no server is specified, returns current login info (from the most recent login or register action).