Пример #1
0
        public string Auth(Usuario usuario)
        {
            string nomUser = usuario.NickName.ToLower().Trim();

            var user = db.Usuario.Where(x =>
                                        x.NickName.ToLower().Trim().Equals(nomUser) &&
                                        x.Password.Equals(usuario.Password))
                       .Include(x => x.IdRolNavigation)
                       .FirstOrDefault();

            if (user == null)
            {
                return("NotAuthorized");
            }

            string strToken = ValidateTokenExistence(user.IdUsuario);

            if (strToken != null)
            {
                return(strToken);
            }

            TokenUsuario token = new TokenUsuario
            {
                IdUsuario       = user.IdUsuario,
                Token           = Guid.NewGuid().ToString(),
                FechaGeneracion = DateTime.Now
            };

            db.TokenUsuario.Add(token);
            db.SaveChanges();

            return(token.Token);
        }
Пример #2
0
        public async Task <Retorno> Logar(LoginDTO login)
        {
            try
            {
                var isLogado = await _signInManager.PasswordSignInAsync(login.Usuario, login.Senha, false, true);

                if (!isLogado.Succeeded)
                {
                    return(new Retorno(false, "Não Logado", "Usuário ou Senha Invalido!"));
                }

                var user = await _userManager.FindByNameAsync(login.Usuario);

                var userToken = new TokenUsuario {
                    Id = user.Id, Usuario = user.UserName, Email = user.Email, IdPerfil = user.IdPerfil, Administrador = (user.Administrador ?? false)
                };

                var userLogado = new UsuarioLogadoDTO {
                    UserToken = userToken
                };
                var dadosToken = await _repository.GerarJwtAsync(userLogado);


                return(new Retorno(true, "Login Efetuado com Sucesso!", dadosToken));
            }
            catch (Exception ex)
            {
                _log.GerarLogDisc("Erro ao Logar Usuario", ex: ex);
                throw new Exception("Erro ao Logar o Usuario", ex);
            }
        }