UNPKG

liquido

Version:

Conjunto de ferramentas para desenvolvimento de aplicações para a internet 100% em português

39 lines 1.55 kB
"use strict"; 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)('sessao') }); } }; }; exports.default = autenticacao; //# sourceMappingURL=autenticacao.js.map