Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/madhurjain/passport-local-sequelize
passport-local-sequelize is a sequelize plugin for building username and password login with passport
https://github.com/madhurjain/passport-local-sequelize
authentication javascript passport sequelize
Last synced: 3 days ago
JSON representation
passport-local-sequelize is a sequelize plugin for building username and password login with passport
- Host: GitHub
- URL: https://github.com/madhurjain/passport-local-sequelize
- Owner: madhurjain
- License: mit
- Created: 2013-12-15T18:43:15.000Z (about 11 years ago)
- Default Branch: master
- Last Pushed: 2024-02-20T19:36:19.000Z (12 months ago)
- Last Synced: 2024-04-14T13:10:26.665Z (10 months ago)
- Topics: authentication, javascript, passport, sequelize
- Language: JavaScript
- Homepage:
- Size: 452 KB
- Stars: 80
- Watchers: 2
- Forks: 46
- Open Issues: 19
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Passport-Local Sequelize
Passport-Local Sequelize is a [Sequelize](http://sequelizejs.com/) plugin
that simplifies building username and password login with [Passport](http://passportjs.org)This plugin is heavily inspired by [Passport-Local Mongoose](https://github.com/saintedlama/passport-local-mongoose) plugin.
# Installation
$ npm install passport-local-sequelize
# Usage
```js
/* /models/user.js */// Require all the stuff
var Sequelize = require('sequelize'),
passportLocalSequelize = require('passport-local-sequelize');// Setup sequelize db connection
var mydb = new Sequelize('mydb', 'myuser', 'mypass', {
dialect: 'sqlite',storage: 'mydb.sqlite'
});// A helper to define the User model with username, password fields
var User = passportLocalSequelize.defineUser(mydb, {
favoriteColor: Sequelize.STRING
});// --- OR ---
// Define a User yourself and use attachToUser
var User = mydb.define('User', {
nick: Sequelize.STRING,
myhash: Sequelize.STRING,
mysalt: Sequelize.STRING
});passportLocalSequelize.attachToUser(User, {
usernameField: 'nick',
hashField: 'myhash',
saltField: 'mysalt'
});module.exports = User;
```Here's how to hook it all up to passport in your express app.
```js
var express = require('express'),
passport = require('passport'),bodyParser = require('body-parser'),
cookieParser = require('cookie-parser'),
session = require('express-session'),User = require('./models/user'),
app = express();
app.use(bodyParser());
app.use(require('connect-multiparty')());
app.use(cookieParser());
app.use(session({ secret: 'super-secret' }));app.use(passport.initialize());
app.use(passport.session());passport.use(User.createStrategy());
passport.serializeUser(User.serializeUser());
passport.deserializeUser(User.deserializeUser());
```