sql >> Database teknologi >  >> NoSQL >> MongoDB

Understøttelse af flere brugertyper af Passport-lokal mongoose node.js

Efter at have gennemgået dokumentationen af ​​passport.js (kudos til Jared), forstod jeg, at jeg gjorde næsten alt forkert.

  1. Oprettet to lokale strategier

    passport.use('userLocal', new LocalStrategy(User.authenticate())); passport.use('clientLocal', new LocalStrategy(Client.authenticate()));

og for at godkende,

passport.authenticate('userLocal')(req, res, function () {
    res.redirect('/profile');
  });
and
passport.authenticate('clientLocal')(req, res, function () {
    res.redirect('/client');
  });
  1. Brugte pasmodul (l=bruger ikke pas-lokal-mongose-modulet) til serializeUser og deseriealizeUser.

    passport.serializeUser(function(user, done) { done(null, user); });

    passport.deserializeUser(function(user, done) { if(user!=null) done(null,user); });

Hele brugerskemaet (objektet) er nu gemt i anmodningen og kan tilgås via enhver af dine ruter.

Håber det hjælper andre med et lignende problem.



  1. Hvordan skal jeg oprette forbindelse til en Redis-instans fra en AWS Lambda-funktion?

  2. Bestemmelse af den bedste arkitektur for en MongoDB-klyngeimplementering

  3. Hvordan skal jeg bruge Booksleeve med protobuf-net?

  4. Heroku-appen går ned efter MongoDB opdateret til 3.0