コード例 #1
0
        public async Task <string> cambiarPass(string usuario, string passActual, string passNueva)
        {
            string passActualEncriptada = "";
            //Peticion para que nos devuelva una respuesta con la sal que necesitamos
            Respuesta respConSal = await this.enviarPeticion("requestSalt", usuario, null, null, null);

            //Si al hacer la peticion el servidor esta caido devuelve un null
            if (respConSal != null)
            {
                if (respConSal.respuesta.Equals("usuarioEncontrado"))
                {
                    // Encripta clave con la "sal" recibida
                    passActualEncriptada = Clave.encriptarClaveConexion(passActual, respConSal.salt);
                    // Se encripta la nueva pass para guardarla en la BD
                    string passNuevaEncriptada = Clave.encriptarClaveRegistro(passNueva);
                    // Se envia la petición con las dos pass encriptadas, por eso no hace falta token aquí
                    Respuesta respuesta = await enviarPeticion("cambiarPass", usuario, passActualEncriptada, passNuevaEncriptada, null);

                    return(respuesta.respuesta);
                }
                else
                {
                    return("passNoCambiada");
                }
            }
            else
            {
                return("servidorOffline");
            }
        }
コード例 #2
0
        /**************************
        * Peticiones del cliente *
        **************************/

        // Este método se encarga de loguear al usuario en la app
        public async Task <string> comenzarLogin(string usuario, string clave)
        {
            //Peticion para que nos devuelva una respuesta con la sal que necesitamos
            Respuesta respConSal = await this.enviarPeticion("requestSalt", usuario, null, null, null);

            //Si al hacer la peticion el servidor esta caido devuelve un null
            if (respConSal != null)
            {
                if (respConSal.respuesta.Equals("noExisteUsuario"))
                {
                    return("El nombre de usuario no se encuentra en nuestra base de datos");
                }
                else // if(respActual.respuesta.Equals("usuarioEncontrado"))
                {
                    // Encripta clave con la "sal" recibida
                    string PassEncriptado = Clave.encriptarClaveConexion(clave, respConSal.salt);
                    // Petición enviando clave encriptada si es correcta nos devolvera el "Token"
                    Respuesta respConToken = await this.enviarPeticion("login", usuario, PassEncriptado, null, null);

                    // Asignamos nuestro token
                    if (respConToken.respuesta.Equals("passValida"))
                    {
                        token = respConToken.token;
                        return("Acceso concedido");
                    }
                    else if (respConToken.respuesta.Equals("usuarioYaConectado"))
                    {
                        return("usuarioYaConectado");
                    }
                    else
                    {
                        return("La contraseña no parece válida");
                    }
                }
            }
            else
            {
                //Mensaje por si el servidor esta caido ---------------------->esto hay que cambiarlo
                return("El servidor no responde, revisa que tengas una conexión a internet");
            }
        }