public Usuariovinculado BuscarPorEmailESenha(UsuarioViewModel login) { using (EkipsContext ctx = new EkipsContext()) { //PERMISSÃO -idpermissaõ Usuariovinculado usuario = ctx.Usuariovinculado.Include(x => x.IdpermissaoNavigation).FirstOrDefault( x => x.Email == login.Email && x.Senha == login.Senha); if (usuario == null) { return(null); } return(usuario); } }
public IActionResult Login(UsuarioViewModel login) { try { Usuariovinculado usuariovinculadoBuscado = UsuariovinculadoRepository.BuscarPorEmailESenha(login); if (usuariovinculadoBuscado == null) { return(NotFound(new { mensagem = "Môhhhh senha incorretahh!" })); } var claims = new[] { // chave customizada new Claim("chave", "0123456789"), new Claim("mari", "AgoraFoi"), // email new Claim(JwtRegisteredClaimNames.Email, usuariovinculadoBuscado.Email), // id new Claim(JwtRegisteredClaimNames.Jti, usuariovinculadoBuscado.Idusuariovinculado.ToString()), // permissao new Claim(ClaimTypes.Role, usuariovinculadoBuscado.IdpermissaoNavigation.Permissao1), }; var key = new SymmetricSecurityKey(System.Text.Encoding.UTF8.GetBytes("gufos-chave-autenticacao")); var creds = new SigningCredentials(key, SecurityAlgorithms.HmacSha256); var token = new JwtSecurityToken( issuer: "Ekips.WebApi", audience: "Ekips.WebApi", claims: claims, expires: DateTime.Now.AddMinutes(30), signingCredentials: creds); return(Ok(new { token = new JwtSecurityTokenHandler().WriteToken(token) })); } catch (Exception ex) { return(BadRequest(new { mensagem = "Erro ao cadastrar." + ex.Message })); } }