Exemplo n.º 1
0
        public async Task <OperacionDto <LoginRespuestaDto> > Login(LoginPeticionDto peticion)
        {
            var operacionValidacion = ValidacionUtilitario.ValidarModelo <LoginRespuestaDto>(peticion);

            if (!operacionValidacion.Completado)
            {
                return(operacionValidacion);
            }

            var usuario = await _usuarioRepositorio.BuscarPorUserName(peticion.UserName);

            if (usuario == null)
            {
                return(new OperacionDto <LoginRespuestaDto>(CodigosOperacionDto.AccesoInvalido, "Usuario o Contraseña inválida"));
            }

            if (!Md5Utilitario.Cifrar(peticion.Password, usuario.PasswordSalt).Equals(usuario.Password))
            {
                return(new OperacionDto <LoginRespuestaDto>(CodigosOperacionDto.AccesoInvalido, "Usuario o Contraseña inválida"));
            }

            var token = $"{peticion.UserName}___{DateTime.UtcNow.ToBinary()}___HERMOZA_BIBLOMAX";

            var dto = new LoginRespuestaDto()
            {
                Suceso      = true,
                Descripcion = "Login correcto",
                Token       = RijndaelUtilitario.EncryptRijndaelToBase64(token)
            };

            return(new OperacionDto <LoginRespuestaDto>(dto));
        }
Exemplo n.º 2
0
        public async Task <OperacionDto <LoginRespuestaDto> > Login([FromBody] LoginPeticionDto peticion)
        {
            var operacion = await _authServicio.Login(peticion);

            return(operacion);
        }