public void AutenticadoDeveRetornarFalsoSeASenhaForNula() { UsuarioEmpresa usuario = new UsuarioEmpresa(empresa, nomeContato, email, senha, senha); Assert.IsFalse(usuario.Autenticado(null)); }
public void AutenticadoDeveRetornarVerdadeiroSeASenhaForIgualASenhaDoUsuario() { UsuarioEmpresa usuario = new UsuarioEmpresa(empresa, nomeContato, email, "teste$1234*", "teste$1234*"); Assert.IsTrue(usuario.Autenticado("teste$1234*")); }
public void AutenticadoDeveRetornarFalsoSeASenhaForEspacosEmBranco() { UsuarioEmpresa usuario = new UsuarioEmpresa(empresa, nomeContato, email, senha, senha); Assert.IsFalse(usuario.Autenticado(" ")); }
public void AutenticadoDeveRetornarFalsoSeASenhaForDiferenteDaSenhaDoUsuario() { UsuarioEmpresa usuario = new UsuarioEmpresa(empresa, nomeContato, email, senha, senha); Assert.IsFalse(usuario.Autenticado("12345")); }
public async Task <IActionResult> Autenticar([FromForm] AutenticarUsuarioEmpresaComando comando) { if (comando == null) { return(await Resposta(null, new List <Notification> { new Notification("Usuario", "Usuário ou senha inválidos") })); } var claimsIdentity = await BuscarClaims(comando); if (claimsIdentity == null) { return(await Resposta(null, new List <Notification> { new Notification("Usuario", "Usuário não encontrado.") })); } if (!_usuarioEmpresa.Autenticado(comando.Senha)) { return(await Resposta(null, new List <Notification> { new Notification("Usuario", "Senha inválida.") })); } var claims = new List <Claim> { new Claim(JwtRegisteredClaimNames.UniqueName, _usuarioEmpresa.Id.ToString()), new Claim(JwtRegisteredClaimNames.NameId, _usuarioEmpresa.Id.ToString()), new Claim(JwtRegisteredClaimNames.Email, _usuarioEmpresa.Email.EnderecoEmail), new Claim(JwtRegisteredClaimNames.Sub, _usuarioEmpresa.Id.ToString()), new Claim(JwtRegisteredClaimNames.Jti, await _tokenOptions.JtiGenerator()), new Claim(JwtRegisteredClaimNames.Iat, ConversorData.ConverterParaUnixEpochDate(_tokenOptions.IssuedAt).ToString(), ClaimValueTypes.Integer64), }; foreach (Claim claim in claimsIdentity.Claims) { claims.Add(claim); } var jwt = new JwtSecurityToken( issuer: _tokenOptions.Issuer, audience: _tokenOptions.Audience, claims: claims, notBefore: _tokenOptions.NotBefore, expires: _tokenOptions.Expiration, signingCredentials: _tokenOptions.SigningCredentials); var encodedJwt = new JwtSecurityTokenHandler().WriteToken(jwt); var response = new { token = encodedJwt, expires = (int)_tokenOptions.ValidFor.TotalSeconds, user = new { usuarioId = _usuarioEmpresa.Id, nome = _usuarioEmpresa.Nome.nome, email = _usuarioEmpresa.Email.EnderecoEmail, empresaId = _usuarioEmpresa.Empresa.Id, nomeEmpresa = _usuarioEmpresa.Empresa.NomeEmpresa.nome } }; var json = JsonConvert.SerializeObject(response, _serializerSettings); return(new OkObjectResult(json)); }