public IActionResult Lista() { AutenticaModel autenticaModel; string token = ""; try { autenticaModel = new AutenticaModel(httpContext); token = autenticaModel.ObterToken(); } catch { token = ""; } finally { autenticaModel = null; } if (string.IsNullOrEmpty(token)) { return(RedirectToAction("Sair")); } else { ViewData["Usuario"] = UsuarioNome; return(View()); } }
public async Task <ResultModel <TokenViewModel> > AtualizaToken(string token, string refreshToken) { ResultModel <TokenViewModel> result = new ResultModel <TokenViewModel>(); try { ClaimsPrincipal principal = _tokenService.GetPrincipalFromExpiredToken(token); string username = principal.Identity.Name; AutenticaModel user = await _autenticaRepository.GetUsuario(u => u.Nome == username); if (user == null || user.RefreshToken != refreshToken) { result.Inconsistencias.Add("Não foi possivel atualiza o token."); return(result); } TokenViewModel jwtToken = _tokenService.GenerateAccessToken(principal.Claims); string newRefreshToken = _tokenService.GenerateRefreshToken(); jwtToken.RefreshToken = newRefreshToken; user.RefreshToken = newRefreshToken; await _autenticaRepository.UpdateUsuario(user); result.Resultado = jwtToken; } catch (Exception ex) { result.Inconsistencias.Add(ex.Message); } return(result); }
public async Task <IActionResult> Entrar(AutenticaTransfer autenticaTransfer) { AutenticaModel autenticaModel; AutenticaTransfer autentica; try { autenticaModel = new AutenticaModel(httpContext); autentica = await autenticaModel.Autenticar(autenticaTransfer); } catch (Exception ex) { autentica = new AutenticaTransfer(); autentica.Validacao = false; autentica.Erro = true; autentica.IncluirMensagem("Erro em AutenticaController Consulta [" + ex.Message + "]"); } finally { autenticaModel = null; } if (autentica.Erro || !autentica.Validacao || !autentica.Autenticado) { return(View("Index", autentica)); } else { ViewData["Usuario"] = UsuarioNome; return(RedirectToAction("Lista")); } }
public IActionResult Sair() { AutenticaModel autenticaModel; autenticaModel = new AutenticaModel(httpContext); autenticaModel.Sair(); return(RedirectToAction("Index")); }
public async Task AddUsuario(AutenticaModel model) { try { model.Senha = _passwordHasher.GenerateIdentityV3Hash(model.Senha); await _context.Autentica.AddAsync(model); _context.SaveChanges(); } catch (Exception ex) { throw new Exception($"Erro para salvar o cadastro! {ex.Message}"); } }
protected void ObterUsuario() { AutenticaModel autenticaModel; string usuario = ""; try { autenticaModel = new AutenticaModel(httpContext); usuario = autenticaModel.ObterUsuario(); } catch { usuario = ""; } finally { autenticaModel = null; } UsuarioNome = usuario; }
public async Task UpdateUsuario(AutenticaModel usuario) { try { AutenticaModel model = await GetUsuarioById(usuario.UsuarioId); model.Ativo = usuario.Ativo; model.Senha = usuario.Senha; model.RefreshToken = usuario.RefreshToken; _context.Attach(model); _context.Entry(model).State = EntityState.Modified; await _context.SaveChangesAsync(); } catch (Exception ex) { throw new Exception($"Erro para salvar o cadastro! {ex.Message}"); } }
public async Task <ResultModel <TokenViewModel> > Autenticar(string username, string password) { ResultModel <TokenViewModel> result = new ResultModel <TokenViewModel>(); try { AutenticaModel user = await _autenticaRepository.GetUsuario(u => u.Nome == username); if (user == null || !_passwordHasher.VerifyIdentityV3Hash(password, user.Senha)) { throw new Exception("Não encontrado nenhum usuário!"); } Claim[] usersClaims = new[] { new Claim(ClaimTypes.Name, user.Nome), new Claim(ClaimTypes.NameIdentifier, user.UsuarioId.ToString()) }; TokenViewModel jwtToken = _tokenService.GenerateAccessToken(usersClaims); string refreshToken = _tokenService.GenerateRefreshToken(); jwtToken.RefreshToken = refreshToken; user.RefreshToken = refreshToken; await _autenticaRepository.UpdateUsuario(user); result.Resultado = jwtToken; return(result); } catch (Exception ex) { result.Inconsistencias.Add(ex.Message); } return(result); }
public IActionResult Autenticar(AutenticaTransfer autenticaTransfer) { AutenticaModel autenticaModel = null; AutenticaTransfer autentica = null; try { autenticaModel = new AutenticaModel(); autentica = autenticaModel.Autenticar(autenticaTransfer); if (!autentica.Erro) { if (autentica.Autenticado) { return(Ok(autentica)); } else { return(Unauthorized(autentica)); } } else { return(BadRequest(autentica)); } } catch (Exception ex) { autentica = new AutenticaTransfer(); autentica.Erro = true; autentica.IncluirMensagem("Erro em AutenticaController Autenticar [" + ex.Message + "]"); return(BadRequest(autentica)); } finally { autenticaModel = null; } }