node package manager
Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »

clever-auth

CleverStack Authentication Module

NPM version GitHub version Dependency Status devDependency Status Code Climate Build Status Coverage NPM downloads Built with Grunt Join the chat at https://gitter.im/CleverStack/cleverstack-cli

CleverStack NodeJS Authentication Module

This CleverStack Module provides easy to use, easy to configure, reliable and scalable Authentication System that allows you to (within minutes) have authentication via Google, Facebook, Github, LinkedIn, and many more...

Highlights

  • Works with both the clever-orm and the clever-odm modules.
  • Easy to use configuration prompts, grunt prompt:cleverAuthConfig.
  • Easily installed using the CleverStack CLI, clever install clever-auth.
  • Easily extend clever-auth with new Authentication Providers that are not implemented yet.
  • Use with the clever-users module - OR - with any other module that exports the UserController, UserService and UserModel resources/classes.
  • Authentication Strategies: Github, LinkedIn, Facebook, Twitter, Dropbox, Google - as well as local authentication out of the box.

Prerequisites

  1. You must be using cleverstack-cli version 1.2.2 or newer.
  2. Your project must be using node-seed version 1.2.1 or newer.
  3. You must either install the clever-users module, or any other module that provides the UserController, UserService and UserModel resources/classes.

Installation

Using CLI

  1. Run clever install clever-auth and follow the prompts
  2. Run clever serve to start your application.

Without CLI

  1. Clone this repo (or untar it there) into your modules folder (ie modules/clever-auth)
  2. Run grunt prompt:cleverAuthConfig and fill in your configuration options.
  3. Run grunt db to rebase and seed the data.
  4. Run grunt server to start your application.

Configuration

Files

For more information about how modules (including clever-auth) are configured, please see the cleverstack.io Documentation sections, Backend Configuration and Module Configuration for more information.

Grunt prompts

  1. grunt prompt:cleverAuthConfig can be used to generate your config for any environment you want.

Options

store - Session Store Driver

in-memory - Using the In-Memory Session Store.
{
  "clever-auth": {
  "store"    : "in-memory"
  }
}
redis - Using Redis to Store Sessions. (implemented using connect-redis)
{
  "clever-auth": {
  "store"    : "redis",
  "redis": {
      "key"    : "",
      "port"   : "6379",
      "host"   : "localhost",
      "prefix" : ""
    }
  }
}
memcache - Using Memcache to Store Sessions. (implemented using connect-memcached)
{
  "clever-auth": {
  "store"    : "memcache",
    "memcache": {
      "host"   : "localhost",
      "port"   : "11211",
      "prefix" : ""
    }
  }
}

secretKey - extra salt to be used to help secure any cookies.

{
  "clever-auth": {
    "secretKey": "",
  }
}

Documentation

See cleverstack.io for more detailed information on the Node Seed or visit the Getting Started Guide if you have never used CleverStack before.

License

See our LICENSE