@qelos/auth
Version:
Express Passport authentication service
34 lines (33 loc) • 1.31 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.signin = void 0;
const passport_1 = __importDefault(require("passport"));
const signin_signup_token_1 = require("./signin-signup-token");
const req_host_1 = require("../services/req-host");
function signin(req, res, next) {
const validationErrors = (0, signin_signup_token_1.validateSignInForm)(req.body);
if (Object.keys(validationErrors).length > 0) {
return res.status(401).json({ errors: validationErrors });
}
return passport_1.default.authenticate('local-login', (error, data) => {
if (error !== null) {
return res.status(401).json({
errors: {
[error.code === 'INCORRECT_CREDENTIALS' ? 'password' : 'general']: error,
},
});
}
if (!data) {
return res.status(401).json({
errors: {
password: 'password is incorrect',
},
});
}
(0, signin_signup_token_1.tokenPayload)((0, req_host_1.getRequestHost)(req), res, data);
})(req, res, next);
}
exports.signin = signin;