n8n
Version:
n8n Workflow Automation Tool
26 lines • 1.35 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.handleEmailLogin = void 0;
const di_1 = require("@n8n/di");
const user_repository_1 = require("../../databases/repositories/user.repository");
const auth_error_1 = require("../../errors/response-errors/auth.error");
const event_service_1 = require("../../events/event.service");
const helpers_ee_1 = require("../../ldap.ee/helpers.ee");
const password_utility_1 = require("../../services/password.utility");
const handleEmailLogin = async (email, password) => {
const user = await di_1.Container.get(user_repository_1.UserRepository).findOne({
where: { email },
relations: ['authIdentities'],
});
if (user?.password && (await di_1.Container.get(password_utility_1.PasswordUtility).compare(password, user.password))) {
return user;
}
const ldapIdentity = user?.authIdentities?.find((i) => i.providerType === 'ldap');
if (user && ldapIdentity && !(0, helpers_ee_1.isLdapLoginEnabled)()) {
di_1.Container.get(event_service_1.EventService).emit('login-failed-due-to-ldap-disabled', { userId: user.id });
throw new auth_error_1.AuthError('Reset your password to gain access to the instance.');
}
return undefined;
};
exports.handleEmailLogin = handleEmailLogin;
//# sourceMappingURL=email.js.map
;