Authentification

npm i -S express-jwt jsonwebtoken passport passport-local passport-local-mongoose

Installation

new Model

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);

new Controller /

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
};

Serialization

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.

modification de certains fichiers

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}));

A

By rodolphe

A

  • 322