No puede seleccionar más de 25 temas Los temas deben comenzar con una letra o número, pueden incluir guiones ('-') y pueden tener hasta 35 caracteres de largo.

passport.js 634 B

12345678910111213141516171819202122232425
  1. const PassportStrategy = require('passport-strategy');
  2. class ServerConnectStrategy extends PassportStrategy {
  3. constructor (options) {
  4. const { provider } = options;
  5. if (!provider) { throw new TypeError('ServerConnectStrategy requires a provider'); }
  6. super();
  7. this.name = 'server-connect';
  8. this._key = provider + 'Id';
  9. }
  10. authenticate (req, options = {}) {
  11. if (req.session && req.session[this._key]) {
  12. const property = req._userProperty || 'user';
  13. req[property] = { id: req.session[this._key] };
  14. }
  15. this.pass();
  16. }
  17. }
  18. module.exports = ServerConnectStrategy;