Dopo essere riuscito a far funzionare le API sul mio server, ho difficoltà con l'implementazione dell'API per la creazione degli utenti. Cito, dalla documentazione, quanto non mi è chiaro (e cosa presumo non faccia funzionare il tutto):
Che cosa si intende con "$params"? E come vanno scritti nello script? Sono parametri diversi da quelli che vanno passati all'API /api/user/createuser (userid, firstname...)? L'errore che ottengo è "Error: unable to create new user.". Posto il codice da me creato:To obtain the “<code>” value (that must be concatenated after the “FormaLMS” string) it is requested to proceed as follows:
create sha1 encoding of this concatenation: post values in the list and separated by comma, the comma itself, the secret key (“secret”)
generate the "<code>" through a base64 encoding of the “key” concatenation and with the “:” element, plus the token previously generated.
Code: Select all
<?php
$params = ""; // NON SO COSA INSERIRE QUI
$secret = "<CANCELLATO PER ESSERE POSTATO SUL FORUM>"; // PRESO DALLA PIATTAFORMA NELLA SEZIONE "API ED AUTENTICAZIONE"
$key = "<CANCELLATO PER ESSERE POSTATO SUL FORUM>"; // DA ME DEFINITO IN PIATTAFORMA NELLA SEZIONE "API ED AUTENTICAZIONE"
$codice_sha1 = strtolower(sha1(implode(',', $params) . ',' . $secret));
$codice = base64_encode($key . ':' . $codice_sha1);
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "<MIO DOMINIO>/api/user/create?userid=a.verdirame&firstname=Augusto&lastname=Verdirame&password=SignorBecchi123&[email protected]&role=user&valid=1",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => array(
"X-Authorization: FormaLMS " . $codice
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
?>