public IActionResult BuscarEmailSenha(LoginViewModel login) { UsuarioRepository repo = new UsuarioRepository(); try { var usuario = repo.BuscarPorEmailSenha(login.Email, login.Senha); if (usuario == null) { return(NotFound("Usuario não encontrado!")); } var claims = new[] { new Claim(JwtRegisteredClaimNames.Email, usuario.Email), new Claim(JwtRegisteredClaimNames.Jti, usuario.IdUsuario.ToString()), new Claim(ClaimTypes.Role, usuario.IdTipoNavigation.NomeTipoUsuario) }; var token = new JwtSecurityToken( issuer: "easyTalk", audience: "easyTalk", claims: claims, expires: DateTime.Now.AddMinutes(30) ); return(Ok(new { token = new JwtSecurityTokenHandler().WriteToken(token) })); } catch (Exception) { throw; } }
public IActionResult Login(LoginViewModel loginViewModel) { Usuario usuario = _usuarioRepository.BuscarPorEmailSenha(loginViewModel); if (usuario == null) { return(NotFound("Senha ou Email incorreto")); } return(Ok("Você Logou!!!!")); }
public IActionResult Logar(LoginViewModel login) { //Busca por Email //se nulo = notFound() //else token try { Usuarios UserReturn = usuarioRepositoy.BuscarPorEmailSenha(login); if (login == null || UserReturn == null) { return(NotFound(new { mensagem = "Erro ao Logar, Usuario não encontrado" })); } //gerei declarações do meu token, meio que customizei ele var claims = new[] { new Claim(JwtRegisteredClaimNames.Email, UserReturn.Email), new Claim(JwtRegisteredClaimNames.Jti, UserReturn.UsuarioId.ToString()), new Claim(ClaimTypes.Role, UserReturn.Permissao), }; //criei uma chave de seguramça e a configurei var key = new SymmetricSecurityKey(System.Text.Encoding.UTF8.GetBytes("Chave_aqui_e_agora_nesse_instante")); // fiz alguma parada que não entendi var creds = new SigningCredentials(key, SecurityAlgorithms.HmacSha256); // na real, aqui eu realmente crei meu token e configurei ele var token = new JwtSecurityToken( issuer: "Inlock.WebApi", audience: "Inlock.WebApi", claims: claims, expires: DateTime.Now.AddMinutes(30), signingCredentials: creds); //pois então me dispus a configurá-lo return(Ok(new { token = new JwtSecurityTokenHandler().WriteToken(token) })); } catch (Exception exe) { return(BadRequest(new { mensagem = "Erro ao Logar" + exe.Message })); } }
public IActionResult Login(UsuarioDomain Login) { // Busca o usuário pelo e-mail e senha UsuarioDomain UsuarioBuscado = _UsuarioRepository.BuscarPorEmailSenha(Login.Email, Login.Senha); // Caso não encontre nenhum usuário com o e-mail e senha informados if (UsuarioBuscado == null) { // retorna NotFound com uma mensagem personalizada return(NotFound("E-mail ou senha inválidos!")); } // Caso encontre, prossegue para a criação do token // Define os dados que serão fornecidos no token - Payload var claims = new[] { // TipoDaClaim, ValorDaClaim new Claim(JwtRegisteredClaimNames.Email, UsuarioBuscado.Email), new Claim(JwtRegisteredClaimNames.Jti, UsuarioBuscado.IdUsuario.ToString()), new Claim(ClaimTypes.Role, UsuarioBuscado.Permissao), new Claim("Claim personalizada", "Valor teste") }; // Define a chave de acesso ao token var key = new SymmetricSecurityKey(System.Text.Encoding.UTF8.GetBytes("filmes-chave-autenticacao")); // Define as credenciais do token - Header var creds = new SigningCredentials(key, SecurityAlgorithms.HmacSha256); // Define a composição do token var token = new JwtSecurityToken( issuer: "Filmes.webApi", // emissor do token audience: "Filmes.webApi", // destinatário do token claims: claims, // dados definidos acima (linha 59) expires: DateTime.Now.AddMinutes(30), // tempo de expiração signingCredentials: creds // credenciais do token ); // Retorna um status code 200 - Ok com o token criado return(Ok(new { token = new JwtSecurityTokenHandler().WriteToken(token) })); }
public IActionResult Login(LoginViewModel login) { try { Usuarios Usuario = usuariosRepository.BuscarPorEmailSenha(login); if (Usuario == null) { return(NotFound(new { mensagem = "Email ou senha inválidos." })); } var claims = new[] { // email new Claim(JwtRegisteredClaimNames.Email, Usuario.Email), new Claim("chave", "valor"), // id new Claim(JwtRegisteredClaimNames.Jti, Usuario.UsuarioId.ToString()), // é a permissão do usuário new Claim(ClaimTypes.Role, Usuario.Permissao), }; var key = new SymmetricSecurityKey(System.Text.Encoding.UTF8.GetBytes("InLock-chave-autenticacao")); var creds = new SigningCredentials(key, SecurityAlgorithms.HmacSha256); var token = new JwtSecurityToken( issuer: "InLock.WebApi", audience: "InLock.WebApi", claims: claims, expires: DateTime.Now.AddMinutes(30), signingCredentials: creds); // gerar a chave pra vocês // return Ok(new { mensagem = "Sucesso, bro." }); return(Ok(new { token = new JwtSecurityTokenHandler().WriteToken(token) })); } catch (Exception ex) { return(BadRequest(new { mensagem = "Erro." + ex.Message })); } }
public IActionResult Login(LoginViewModel login) { try { Usuarios usuarioBuscado = UsuarioRepository.BuscarPorEmailSenha(login); if (usuarioBuscado == null) { return(NotFound(new { mensagem = "Email ou Senha invalido " })); } // informacoes referentes ao usuarios var claims = new[] { new Claim("chave", "0123456789"), new Claim(JwtRegisteredClaimNames.Email, usuarioBuscado.Email), new Claim(JwtRegisteredClaimNames.Jti, usuarioBuscado.IdUsuario.ToString()), new Claim(ClaimTypes.Role, usuarioBuscado.Permissao), }; var key = new SymmetricSecurityKey(System.Text.Encoding.UTF8.GetBytes("gufos-chave-autenticacao")); var creds = new SigningCredentials(key, SecurityAlgorithms.HmacSha256); var token = new JwtSecurityToken( issuer: "Gufos.WebApi", audience: "Gufos.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 = "Eita, erro :/ ." + ex.Message })); } }
public IActionResult Login(LoginViewModel dadosLogin) { try { Usuarios usuarioEncontrado = UsuarioRepository.BuscarPorEmailSenha(dadosLogin); if (usuarioEncontrado == null) { return(NotFound()); } var claims = new[] { new Claim(JwtRegisteredClaimNames.Email, usuarioEncontrado.Email), new Claim(JwtRegisteredClaimNames.Jti, usuarioEncontrado.UsuarioId.ToString()), new Claim(ClaimTypes.Role, "ADMINISTRADOR") }; var key = new SymmetricSecurityKey(System.Text.Encoding.UTF8.GetBytes("inlock-chave-autenticacao")); var creds = new SigningCredentials(key, SecurityAlgorithms.HmacSha256); var token = new JwtSecurityToken( issuer: "InLock.WebApi", audience: "InLock.WebApi", claims: claims, expires: DateTime.Now.AddMinutes(30), signingCredentials: creds); return(Ok(new { token = new JwtSecurityTokenHandler().WriteToken(token) })); } catch (Exception ex) { return(BadRequest(ex.Message)); } }