UNPKG

@greenpress/auth

Version:

Express Passport authentication service

43 lines (42 loc) 1.37 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const user_1 = __importDefault(require("../models/user")); const users_1 = require("../services/users"); const config_1 = require("../../config"); const passport_local_1 = require("passport-local"); /** * Return the Passport Local Strategy object. */ module.exports = new passport_local_1.Strategy({ usernameField: 'email', passwordField: 'password', session: false, passReqToCallback: true, }, (req, email, password, done) => { const name = (req.body && req.body.name) || ''; const newUser = new user_1.default({ tenant: req.headers.tenant, email: email.trim(), password: password.trim(), name, roles: [config_1.defaultRole], }); const authType = req.body.authType || config_1.defaultAuthType; (0, users_1.setToken)(newUser, authType) .then(({ user, token, refreshToken, cookieToken }) => { done(null, { token, refreshToken, cookieToken, user: { email: user.email, name: user.name, roles: user.roles, }, }); }) .catch(done); });