[Resolvido] Auto-login não retorna acesso

Este tópico contém respostas, possui 2 vozes e foi atualizado pela última vez por  Luis Augusto 2 anos, 7 meses atrás.

  • Autor
    Posts
  • #8356

    Luis Augusto
    Participante

    Prezados,

    fiz todo o passo a passo do tuto fornecido, mas estranhamente ao tentar fazer acesso pela URL geradas no e-mail de notificação é retornado apenas uma página em branco sem nenhum erro. Segue meus arquivos de config:

    config.php

    <?php
    $license = 'Leased-**********';
    $db_host = 'localhost';
    $db_username = 'gamazonhost';
    $db_password = '************';
    $db_name = 'gamazonhost_whmcs';
    $cc_encryption_hash = 'Dy7mAvHafiCpgrWEPsI707GKPoE4YDos2mEtIcuOkW4reQVT9uQ0rmB6A51pzgHr';
    $templates_compiledir = 'templates_c/';
    $mysql_charset = 'utf8';
    date_default_timezone_set('America/Sao_Paulo');
    $autoauthkey = "@gamazonhost102030";
    ?>

    auth.php

    <?php
    /**
     * Auto Login Hash Merge Tag Email Template
     * @author     Mauricio Gofas | gofas.net
     * @copyright  Copyright (c) 2016 https://gofas.net
     */
     
     // Modelo de URL para colar no template de email:
    // {$whmcs_url}auth.php?email={$client_email}&uid={$client_id}&uname={$client_first_name}{$client_last_name}&hash={$hash}&whmcsurl={$whmcs_url}&goto=viewinvoice.php?id={$invoice_id}
    $autoauthkey = "@gamazonhost102030"; // chave igual à inserida no arquivo /configuration.php 
    $secret_key =  "@sistema2016"; // chave igual à inserida no arquivo /includes/hooks/gofas_hash_email.php
    $whmcsurl = $_GET["whmcsurl"].'dologin.php';
    if (md5($_GET['email'].$_GET['uid'].$_GET['uname'].$secret_key) != $_GET['hash']){
    die();
    } 
    $email		= $_GET['email'];
    $timestamp	= time();
    $goto		= $_GET["goto"];
    $hash		= sha1($email.$timestamp.$autoauthkey);
    $url		= $whmcsurl."?email=$email&timestamp=$timestamp&hash=$hash&goto=".urlencode($goto);
    header("Location: $url");
    exit;
    ?>

    gofas_hash_email.php

    <?php
    /**
     * Auto Login Hash Merge Tag Email Template
     * @author     Mauricio Gofas | gofas.net
     * @copyright  Copyright (c) 2016 https://gofas.net
     */
    if (!defined('WHMCS')) die('This file cannot be accessed directly');
    function gofas_hash_email_template($vars) {
    	$whmcsAdmin							= 1;
    	$invoiceID							= $vars['relid'];
     	$getinvoice							= 'getinvoice';
    	$getinvoiceid['invoiceid']			= $invoiceID;
    	$GetInvoiceResults					= localAPI($getinvoice,$getinvoiceid,$whmcsAdmin);
    	$userID								= $GetInvoiceResults['userid'];
     	$getClient							= 'getclientsdetails';
    	$getClientValues['clientid']		= $userID;
    	$getClientValues['stats']			= true;
    	$getClientValues['responsetype']	= 'json';
    	$getClientResults					= localAPI($getClient,$getClientValues,$whmcsAdmin);
    	$secret_key							= '@sistema2016'; // chave igual à inserida no /auth.php
    	$merge_fields = array();
    	$merge_fields['hash']				= md5($getClientResults['client']['email'].$getClientResults['client']['id'].$getClientResults['client']['firstname'].$getClientResults['client']['lastname'].$secret_key);
    	return $merge_fields;
    }
    add_hook('EmailPreSend',1,'gofas_hash_email_template');
    ?>

    A url gerada é:

    https://gamazonhost.com/auth.php?email=luissalema@gmail.com&uid=80&uname=Maria%2520da%2520Silva&hash=cdf92bf4c0f60520fc68eeb5ec6f6807&whmcsurl=https://www.gamazonhost.com/&goto=viewinvoice.php%3fid=971

    Poderiam me ajudar na solução deste problema?

  • #8365

    Gofas
    Mestre

    Oi Luis, veja esse post sobre tela branca, erro 500 e os “falsos erros do whmcs”:
    https://gofas.net/blog/como-resolver-o-erro-500-tela-branca-e-os-falsos-erros-do-whmcs/
    A página branca não é o erro, apenas um “disfarce” do erro por segurança, siga os passos do post para ativar a exibição de erros e nos envie o erro retornado ocultando seu nome de usuário do caminho de arquivos, por favor.

    Você deve remover as arrobas (@) das keys, elas devem conter apenas letras e números, tente por exemplo, substituir @sistema2016 por algo como as8a0q891mq191ji1qqwqmkmqksmkmk.

  • #8366

    Luis Augusto
    Participante

    Bom dia Gofas!

    Cara funcionando perfeitamente. Muito obrigado mesmo pela atenção e clareza da resposta.

Você deve fazer login para responder a este tópico.