Socket
Socket
Sign inDemoInstall

authentic-client

Package Overview
Dependencies
38
Maintainers
1
Versions
14
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    authentic-client

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.


Version published
Weekly downloads
157
increased by15.44%
Maintainers
1
Created
Weekly downloads
 

Readme

Source

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)
auth.magicRequest(opts, cb)
auth.magicLogin(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)

auth.magicRequest(opts, cb)

auth.magicLogin(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

Keywords

FAQs

Last updated on 27 Mar 2024

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc