2016-04-04 12 views
0

Pasaport.js kullanarak istemcilerin kimliklerini doğrulamak için bir Oauth2 taşıyıcı stratejisi yapıyorum. Ben pasaport-http-taşıyıcı paketi kullanmak ve aşağıdaki geri arama uygulamaya: İstemci bilgi okumak istiyorum Daha SonraPasaport, req.user yerine Bearer stratejisi yerine req.user depolamak ister.

passport.use(new BearerStrategy(
    function (accessToken, done) { 
     Token.findOne({ token: accessToken }).populate('client').exec(function (err, token) { 
     if (err) { 
      return done(err); 
     } 
     if (!token) { 
      return done(null, false); 
     } 
     if (new Date() > token.expirationDate) { 
      Token.remove(accessToken, function (err) { 
      return done(err); 
      }); 
     } 
     if (token.client) { 
      var info = { scope: token.client.scopes }; 
      return done(null, token.client, info); 
     } 
     else { 
      return done(null, false); 
     } 
     }); 
    } 
)); 

- Pasaport done() callback'inde tarafından req.user anahtarının altına alır. İade edilen istemciyi req.user yerine req.client değişkeninde saklamak için pasaport almanın bir yolu var mı?

Amacım, aynı uygulamaya sahip kullanıcıların ve istemcilerin kimliklerini doğrulamaktır, bu nedenle isteğimde çakışan anahtarlara sahip olamam. pasaportu initialising ederken

sayesinde

cevap

1

Kullanıcı özelliğini geçebilir. passport, bu bilgiyi bilgi depolamak için kullanacaktır.

+0

Teşekkürler! Bunu sadece belirli bir strateji için yapmanın bir yolunu biliyor musunuz? İstemciyi yalnızca 'Taşıyıcı' stratejisini kullandığımda almak istiyorum, diğer stratejiler ise bir kullanıcının kimliğini doğrulamak için tasarlandı ve bu yüzden bunları 'req.user anahtarı' altında saklamak istiyorum. – sebbulon

+0

Başlatma pasaport düzeyinde gerçekleştiğinden, bunu Strateji düzeyinde ele almanın bir yolunu görmüyorum. –

+0

Tamam sanırım tek yol burada açıklandığı gibi 2 farklı pasaport örneği kullanmaktır? http://stackoverflow.com/questions/25896753/passportjs-using-multiple-passports-within-express-application – sebbulon

İlgili konular