sql >> Databáze >  >> NoSQL >> MongoDB

Podpora pro více typů uživatelů prostřednictvím místního mongoose node.js Passport

Po prostudování dokumentace passport.js (sláva Jaredovi) jsem pochopil, že dělám téměř všechno špatně.

  1. Vytvořeny dvě localStrategies

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

a ověřit,

passport.authenticate('userLocal')(req, res, function () {
    res.redirect('/profile');
  });
and
passport.authenticate('clientLocal')(req, res, function () {
    res.redirect('/client');
  });
  1. Použitý modul pasu (l=nepoužíváte modul passport-local-mongoose) pro serializeUser a deseriealizeUser.

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

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

Celé uživatelské schéma (objekt) je nyní uloženo v požadavku a lze k němu přistupovat prostřednictvím kterékoli z vašich cest.

Doufám, že to pomůže ostatním s podobným problémem.



  1. Instalace/nastavení Mongos v Elastic Beanstalk

  2. Konverze slovníku<řetězec, objekt>-na-BsonDocument s vynecháním pole _t

  3. MongoDB $trunc

  4. MongoDB $type Query Operator