public AuthModule() : base("Auth") { Get["/"] = p => { return("Token Valid!"); }; Post["Login"] = p => { var dadosAcesso = this.Bind <DTODadosAcesso>(); var usuario = new ManterUsuario().ObterTodosIQueryable().Where(x => x.CPF == dadosAcesso.Login) .Select(x => new Usuario { ID = x.ID, Senha = x.Senha }) .FirstOrDefault(); if (usuario == null) { return("Usuário não existe."); } if (usuario.Senha != dadosAcesso.Senha) { return("Senha inválida."); } var nivel = manterTrilhaNivel.ObterTrilhaNivelPorID(dadosAcesso.NivelID); if (nivel == null || !nivel.UsuarioPossuiMatricula(usuario.ID)) { return(null); } return (Response.AsJson(JsonWebToken.Encode(new { id = usuario.ID, nid = nivel.ID }, manterUsuario.GerarTokenTrilha(usuario), JwtHashAlgorithm.HS256))); }; Post["LoginFornecedor"] = p => { var dadosAcesso = this.Bind <DTODadosAcesso>(); var usuario = manterUsuario.ObterPorCPF(dadosAcesso.Login); if (usuario == null) { return("Usuário não existe."); } if (usuario.Senha != dadosAcesso.Senha) { return("Senha inválida."); } var nivel = manterTrilhaNivel.ObterTrilhaNivelPorID(dadosAcesso.NivelID); if (!nivel.UsuarioPossuiMatricula(usuario.ID)) { return(null); } var manterFornecedor = new ManterFornecedor(); var fornecedor = manterFornecedor.ObterFornecedorPorID(25); if (fornecedor == null) { return("Fornecedor não existe."); } return(Response.AsJson(JsonWebToken.Encode(new { id = usuario.ID, fase = 1, itrid = 1, nid = nivel.ID }, fornecedor.TextoCriptografia, JwtHashAlgorithm.HS256), HttpStatusCode.OK)); }; }