public async Task <Response <Jwt> > SignIn(SignInQueryFilter model) { User user = await userRepository.GetAuth(model); Administrator administrator = await administratorRepository.GetAuth(model); if (user == null && administrator == null) { throw new BusinessException("Los datos que ingresaste no coinciden con ninguna cuenta"); } var data = new { Id = user != null ? user.Id : administrator.Id, Role = user != null ? "user" : "administrator" }; var token = jwtUtil.Generate(data); if (token == null) { throw new BusinessException("Los datos que ingresaste no coinciden con ninguna cuenta"); } token.User = user; token.Administrator = administrator; return(new Response <Jwt>(true, "", token)); }
public async Task <Jwt> Authenticate(SignInQueryFilter user) { var userData = await userRepository.GetByEmailPassword(user); if (userData == null) { throw new BusinessException("Los datos de acceso son incorrectos"); } var data = new { Id = userData.Id, Name = userData.Name }; var token = jwtUtil.Generate(data); if (token == null) { throw new BusinessException("No se puede iniciar sesión, intente nuevamente"); } token.User = userData; return(token); }