Beispiel #1
0
        private User GetUser(string token)
        {
            Jwt  jwt  = JwtWorker.DecodeTokenString(token);
            User user = uow.Users.Get(jwt.Payload.User);

            if (user == null)
            {
                throw new UserNotFoundException(userNotFound);
            }

            if (!JwtWorker.IsValidSignature(jwt, user.Password))
            {
                throw new InvalidTokenException(invalidToken);
            }

            return(user);
        }
        public void LogInTest()
        {
            User           user  = CreateUser();
            UserLogInDraft draft = new UserLogInDraft()
            {
                Login    = user.Login,
                Password = user.Id.ToString()
            };
            string oldToken = auth.LogIn(draft);
            string newToken = JwtWorker.GenerateTokenString(new Jwt(new Header(),
                                                                    new Payload()
            {
                User = user.Id
            }), user.Password);

            Assert.AreNotEqual(oldToken, newToken);
        }
        public Object Login(string usuario, string contraseña)
        {
            try
            {
                if (usuario == "" || usuario == null || contraseña == null || contraseña == "")
                {
                    throw new Exception("Por favor, ingrese todos los campos.");
                }
                using (ModelosDBContainer context = new ModelosDBContainer())
                {
                    UsuarioRepository repositorio = new UsuarioRepository(context);

                    if (!repositorio.Any(usuario))
                    {
                        throw new Exception("El usuario no existe.");
                    }

                    var entity = repositorio.Get(usuario);

                    if (!repositorio.VerifyPassword(contraseña, entity.Password))
                    {
                        throw new Exception("Credenciales incorrectas");
                    }

                    var user = this._mapper.Map <UsuarioDTO>(entity);

                    var token = JwtWorker.GenerateTokenJwt(user.Username);


                    return(new {
                        user,
                        token
                    });
                }
            }
            catch (Exception e)
            {
                throw e;
            }
        }
Beispiel #4
0
        public string LogIn(UserLogInDraft draft)
        {
            User user = uow.Users.GetByLogin(draft.Login);

            if (user == null)
            {
                throw new InvalidLoginException(invalidLogin);
            }

            string md5Password = Cryptographer.MD5Hash(draft.Password);

            if (!user.Password.Equals(md5Password))
            {
                throw new InvalidPasswordException(invalidPassword);
            }

            return(JwtWorker.GenerateTokenString(new Jwt(new Header(),
                                                         new Payload()
            {
                User = user.Id
            }),
                                                 user.Password));
        }