Skip to content

The client component of Authentic. This helps interact with an `authentic-server` so that you can easily signup, confirm, login, and change-password for users. It will also help send tokens to microservices that require authentication.

davidguttman/authentic-client

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 

AuthenticClient

The client component of authentic. This helps interact with an authentic-server so that you can easily signup, confirm, login, and change-password for users. It will also help send tokens to microservices that require authentication.

Example

var Authentic = require('authentic-client')

var auth = Authentic({
  server: 'https://auth.scalehaus.io'
})

var creds = {
  email: 'chet@scalehaus.io',
  password: 'notswordfish'
}

// Step 1: log in
auth.login(creds, function (err) {
  if (err) return console.error(err)

  // Step 2: make a JSON request with authentication
  var url = 'https://reporting.scalehaus.io/report'
  auth.get(url, function (err, data) {
    // show that report
    console.log(data)
  })
})

Installation

npm install --save authentic-client

API

Authentic(opts)

This is the main entry point. Accepts an options object and returns an object with helper methods.

var auth = Authentic({
  server: 'https://auth.scalehaus.io'
})

// auth is now an object with various methods:
auth.signup(opts, cb)
auth.confirm(opts, cb)
auth.login(opts, cb)
auth.changePasswordRequest(opts, cb)
auth.changePassword(opts, cb)

options

Authentic() takes an options object as its first argument, one of them is required:

  • server: the url of the authentic-server, e.g. 'http://auth.yourdomain.com'

Optional:

  • prefix: defaults to '/auth' if you set a custom prefix for your authentic-server, use that same prefix here
  • authToken: if you have an authToken from a previous login, you may pass it in for immediate use in get and post

auth.signup(opts, cb)

auth.confirm(opts, cb)

auth.login(opts, cb)

auth.changePasswordRequest(opts, cb)

auth.changePassword(opts, cb)

See authentic-server's Server API for usage

auth.get(url, opts, cb)

Will make a request using an authToken if one is available, has the same API as [jsonist.get] (https://github.com/rvagg/jsonist#jsonistgeturl--options--callback)

auth.post(url, data, opts, cb)

Will make a request using an authToken if one is available, has the same API as jsonist.post

auth.put(url, data, opts, cb)

Will make a request using an authToken if one is available, has the same API as jsonist.put

auth.delete(url, opts, cb)

Will make a request using an authToken if one is available, has the same API as [jsonist.delete] (https://github.com/rvagg/jsonist#jsonistdeleteurl--options--callback)

If token is present, it will be verified before request against authentic-server's public key, and options will be extended with authorization header prior to sending request. It will use Bearer ${token} scheme.

You can also call verifyToken explicitly yourself and provide a callback. (In case of invalid token, err is going to be provided by jsonwebtoken)

auth.verifyToken(function(err){ ... })

License

MIT

About

The client component of Authentic. This helps interact with an `authentic-server` so that you can easily signup, confirm, login, and change-password for users. It will also help send tokens to microservices that require authentication.

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •