@clevertech.biz/auth-core

The set of utilities necessary to build an authentication service. This does not include templates, views, styles, or transport layer.

Stats

stars 🌟issues ⚠️updated 🛠created 🐣size 🏋️‍♀️
621May 30, 2021Sep 25, 2017Minified + gzip package size for @clevertech.biz/auth-core in KB

Readme

CleverAuth Core

Generic auth library for Clevertech.

Testing

You have to run the tests with node v10 or v12. Node v14 has a known issue with older pg clients.

docker-compose -f test/docker-compose.yml up -d
npm run test

Example

import {
  Core,
  KnexAdapter,
  MongoAdapter,
  DefaultEmailService,
  Crypto,
  JWT,
  Validations,
  TwilioSMSService
} from '@clevertech.biz/auth-core'

const db = new MongoAdapter('<uri>')
const db = new KnexAdapter({
  // knex config here
})
const sms = new TwilioSMSService(
  '<accountSid>',
  '<authToken>',
  '<numberFrom>'
})

const core = new Core({
  projectName: '<projectName>',
  db,
  email: new DefaultEmailService({
    projectName: '',
    confirmEmailURL: '',
    requestResetPasswordURL: '',
    resetPasswordURL: '',
    emailServiceConfig: {
      // config for pnp-email-service
    }
  }),
  crypto: new Crypto('<key>', '<algorithm> = aes-256-gcm'),
  jwt: new JWT('<algorithm>', '<secretOrPrivateKey>', '<secretOrPublicKey>', {
    // default options: see https://github.com/auth0/node-jsonwebtoken#usage
  }),
  validations: new Validations(['name', 'company'], true),
  sms,
  numberOfRecoverCodes: 10
})

If you find any bugs or have a feature request, please open an issue on github!

The npm package download data comes from npm's download counts api and package details come from npms.io.