Nodejs: Anonim (Anonymous) bir kullanıcı olarak kimlik doğrulama yapma

22 Mart 2023 09:00 tarihinde Yayınlandı
Nodejs ile Anonymous bir kullanıcı olarak kimlik doğrulama işlemlerini aşağıda anlattığım gibi yapabilirsiniz.

Passport anonim kimlik doğrulamaya izin verir. Aynı şey için bir passport anonim stratejisi var.

app.get('/',
  // Authenticate using HTTP Basic credentials, with session support disabled,
  // and allow anonymous requests.
  passport.authenticate(['basic', 'anonymous'], { session: false }),
  function(req, res){
    if (req.user) {
      res.json({ username: req.user.username, email: req.user.email });
    } else {
      res.json({ anonymous: true });
    }
  });

Bu, temel stratejinizi yerinde kullanır, yerel kimlik doğrulama kullanıyorsanız, bunu yerel bir stratejiyle değiştirebilirsiniz. Burada görülebileceği gibi, hiçbir şeyin sağlanmaması durumunda anonim bir stratejiye geri döner.

passport.use(new BasicStrategy({
  },
  function(username, password, done) {
    // asynchronous verification, for effect...
    process.nextTick(function () {

      // Find the user by username.  If there is no user with the given
      // username, or the password is not correct, set the user to `false` to
      // indicate failure.  Otherwise, return the authenticated `user`.
      findByUsername(username, function(err, user) {
        if (err) { return done(err); }
        if (!user) { return done(null, false); }
        if (user.password != password) { return done(null, false); }
        return done(null, user);
      })
    });
  }
));

// Use the BasicStrategy within Passport.
//   This is used as a fallback in requests that prefer authentication, but
//   support unauthenticated clients.
passport.use(new AnonymousStrategy());