authentic-service
This is the service component of Authentic. This will help decode tokens so that you can authenticate users within a microservice.
Last updated 3 years ago by dguttman .
MIT · Repository · Bugs · Original npm · Tarball · package.json
$ cnpm install authentic-service 
SYNC missed versions from official npm registry.

AuthenticService

This is the service component of authentic. This will help decode tokens so that you can authenticate users within a microservice.

Example

var http = require('http')
var Authentic = require('authentic-service')

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

http.createServer(function (req, res) {
  // Step 1: decrypt the token
  auth(req, res, function (err, authData) {
    if (err) return console.error(err)

    // Step 2: if we get an email and it's one we like, let them in!
    if (authData && authData.email.match(/@scalehaus\.io$/)) {
      res.writeHead(200)
      res.end('You\'re in!')

    // otherwise, keep them out!
    } else {
      res.writeHead(403)
      res.end('Nope.')
    }
  })
}).listen(1338)

console.log('Protected microservice listening on port', 1338)

Installation

npm install --save authentic-service

API

Authentic(opts)

This is the main entry point. Accepts an options object and returns a function that can parse and decrypt tokens from http requests.

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

// auth is now a function that accepts req, res, and a callback
auth(req, res, function(err, authData) { ... })

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
  • cacheDuration: defaults to 3600000 (1 hour in milliseconds). To minimize latency and requests, this is how long authentic-service will cache the authentic-server public key.

License

MIT

Current Tags

  • 0.3.1                                ...           latest (3 years ago)

6 Versions

  • 0.3.1                                ...           3 years ago
  • 0.3.0                                ...           3 years ago
  • 0.2.2                                ...           4 years ago
  • 0.1.0                                ...           5 years ago
  • 0.0.1                                ...           5 years ago
  • 0.0.0                                ...           5 years ago
Maintainers (1)
Downloads
Today 0
This Week 0
This Month 0
Last Day 0
Last Week 0
Last Month 2
Dependencies (4)
Dev Dependencies (2)

Copyright 2014 - 2016 © taobao.org |