liquido
Version:
Conjunto de ferramentas para desenvolvimento de aplicações para a internet 100% em português
39 lines • 1.55 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const passport_1 = __importDefault(require("passport"));
const passport_jwt_1 = __importDefault(require("passport-jwt"));
const variaveis_ambiente_1 = require("./variaveis-ambiente");
const usuarios_1 = __importDefault(require("../../usuarios"));
const { Strategy, ExtractJwt } = passport_jwt_1.default;
const autenticacao = () => {
const parametros = {
secretOrKey: (0, variaveis_ambiente_1.devolverVariavelAmbiente)('chaveSecreta'),
jwtFromRequest: ExtractJwt.fromAuthHeaderAsBearerToken()
};
const estrategia = new Strategy(parametros, (payload, done) => {
const usuario = usuarios_1.default[payload.id] || null;
if (usuario) {
return done(null, {
id: usuario.id
});
}
else {
return done(new Error(`Usuário não encontrado.`), null);
}
});
passport_1.default.use(estrategia);
return {
initialize: function () {
const passportHandler = passport_1.default.initialize();
return passportHandler;
},
authenticate: function () {
return passport_1.default.authenticate('jwt', { session: (0, variaveis_ambiente_1.devolverVariavelAmbiente)('session') });
}
};
};
exports.default = autenticacao;
//# sourceMappingURL=autenticacao.js.map