npm i -S express-jwt jsonwebtoken passport passport-local passport-local-mongoose
account.js
import mongoose from 'mongoose';
const Schema = mongoose.Schema;
import passportLocalMongoose from 'passport-local-mongoose';
let Account = new Schema({
email: String,
password: String
});
Account.plugin(passportLocalMongoose);
module.exports = mongoose.model('Account', Account);
account.js
import mongoose from 'mongoose';
import { Router } from 'express';
import Account from '../model/account';
import bodyParser from 'body-parser';
import passport from 'passport';
import config from '../config';
import {generateAccessToken, respond, authenticate} from '../middleware/authMiddleware';
export default ({ config, db }) => {
let api = Router();
return api
};
La sérialization est au cœur de tous les mécanismes d’enregistrement et de relecture d’objets, ainsi que de transmission de ces objets au travers de réseaux. Dès qu’une application a besoin de transmettre ses objets à une autre application, qui peut d’ailleurs être un module d’elle-même, elle fait appel à un mécanisme de sérialization.
import passport from 'passport';
const LocalStrategy = require('passport-local').Strategy;
// du code ici
app.use(passport.initialize());
let Account = require('./model/account');
passport.use(new LocalStrategy({
userField: 'email',
passwordField: 'passowrd'
},
Account.authenticate()
));
passport.serializeUser(Account.serializeUser());
passport.deserializeUser(Account.deserializeUser());
index.js
routes/index.js
import account from '../controller/account';
//code ici
router.use('/account', account({config, db}));