public Dictionary <string, Object> authenticateUser(Usuario user) { Usuario usuario = null; var token = ""; var dic = new Dictionary <string, object>(); var claims = new List <Claim>(); UsuarioDAO userDAO = new UsuarioDAO(); usuario = userDAO.GetUsuario(user.usuario, user.password); var roles = userDAO.getUsuarioRoles(usuario.id); foreach (Rol rol in roles) { claims.Add(new Claim(ClaimTypes.Role, rol.identificador)); } if (!PasswordHasher.Verify(user.password, usuario.password)) { throw new PasswordMismatchException("La contraseña es incorrecta"); } usuario.password = "******"; token = JWT.createToken(usuario, claims); dic.Add("usuario", usuario); dic.Add("token", token); dic.Add("roles", roles); return(dic); }