Prova a sotituire:
if(!(new self())->checkAuthentication($auth_code)) {
return false;
}
con:
$_api_instance = new self();
if(!($_api_instance->checkAuthentication($auth_code))) {
return false;
}
api forma23
Re: api forma23
Per supporto GRATUITO contattatemi in privato qui
Re: api forma23
Ancora nulla.
il var_dump restituisce questo messaggio
object(SimpleXMLElement)#1 (1) { ["error"]=> object(SimpleXMLElement)#2 (0) { } }
invece di
object(SimpleXMLElement)#1 (1) { ["error"]=> string(20) "Error: invalid user." }
il var_dump restituisce questo messaggio
object(SimpleXMLElement)#1 (1) { ["error"]=> object(SimpleXMLElement)#2 (0) { } }
invece di
object(SimpleXMLElement)#1 (1) { ["error"]=> string(20) "Error: invalid user." }
Re: api forma23
Se provi ad attivare il debug intercetti qualche errore prima del var_dump?
Per supporto GRATUITO contattatemi in privato qui
Re: api forma23
sono già attive le istruzioni per il debug ma non intercetta nulla
error_reporting(E_ALL);
ini_set( 'display_errors', 1 );
cmq per oggi passo e vedo di continuare a fare qualche altro test nei prossimi giorni. Grazie per l'aiuto
error_reporting(E_ALL);
ini_set( 'display_errors', 1 );
cmq per oggi passo e vedo di continuare a fare qualche altro test nei prossimi giorni. Grazie per l'aiuto
Re: api forma23
È passato un po' di tempo dall'ultima risposta, ma visto che mi sono appena scontrato con questo bug, riporto la mia esperienza.
Il problema dell'autenticazione tramite token è che il codice di lms forma fa la checkAuthentication() anche sulla chiamata /api/auth/authenticate; ovviamente così non funziona perché il codice richiede di essere autenticati per fare l'autenticazione... è il cane che si morde la coda. In generale gli endpoint di autenticazione (quelli a cui inviare user e password) devono essere per ovvie ragioni pubbliche, o per lo meno non protette dallo stesso tipo di autenticazione che devono fornire.
Il problema dell'autenticazione tramite token è che il codice di lms forma fa la checkAuthentication() anche sulla chiamata /api/auth/authenticate; ovviamente così non funziona perché il codice richiede di essere autenticati per fare l'autenticazione... è il cane che si morde la coda. In generale gli endpoint di autenticazione (quelli a cui inviare user e password) devono essere per ovvie ragioni pubbliche, o per lo meno non protette dallo stesso tipo di autenticazione che devono fornire.
Re: api forma23
La modifica che sto testando è passare (nel file 'api/lib/lib.api.php') da queste righe:
a queste
Code: Select all
static public function Execute($auth_code, $module, $function, $params) {
if(!(new self())->checkAuthentication($auth_code)) {
return false;
}
...
Code: Select all
public static function Execute($auth_code, $module, $function, $params) {
$api_call = "{$module}/{$function}";
if ($api_call != 'auth/authenticate' && !(new self())->checkAuthentication($auth_code)) {
return false;
}
...