Bonsoir, c’est peut-être contre productif par rapport au travail fait par l’équipe Jeedom qui s’efforce de rendre la sécurisation optimale mais au cas ou , il est toujours possible de générer une clé api de 32 octets en utilisant un bloc code dans un scénario :
$data_plugin = 'teleinfo'; // nom du plugin ou core
$format = 32; // 32 ou 64, utilisé que si $injection n'est pas renseignée.
$injection = ''; // a remplir que si vous voulez injecter une clé perso [32 ou 64 octets]
//////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////// NE PAS MODIFIER /////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////////
$scenario->setLog('┌───────────────────[ Regeneration cle API ]'); //
$version = jeedom::version(); //
if ($version >= '4.2') { //
if (class_exists($data_plugin) || $data_plugin == 'core') { //
$scenario->setLog('| [Info] Type --> '.$data_plugin); //
$OldKey = config::byKey('api', $_plugin = $data_plugin); //
if ($OldKey!='') $scenario->setLog('| [Info] Ancienne clé api --> '.$OldKey); //
if ($injection!='' && (strlen($injection)==32 || strlen($injection)==64)) //
{ //
$NewsKey = $injection; //
$format = strlen($injection); //
$scenario->setLog('| [Info] Méthode --> Injection clé perso'); //
} //
else //
{ //
$NewsKey = config::genKey($_car=$format); //
$scenario->setLog('| [Info] Méthode --> Random'); //
} //
$save_key = config::save('api', $NewsKey, $data_plugin); //
$VerifKey = config::byKey('api', $_plugin = $data_plugin); //
$scenario->setLog('| [Info] Format --> '. $format . ' octets'); //
if ($VerifKey == $NewsKey) { //
$scenario->setLog('| [Info] Nouvelle clé API --> '. $NewsKey); //
$scenario->setLog('| [OK] Clé Api sauvegardé avec succès'); //
} //
else $scenario->setLog('| [Erreur] l\'enregistrement de la nouvelle clé a échoué !!!'); //
} //
else $scenario->setLog('| [Erreur] Veuillez activer/verifier le nom du plugin !!!'); //
} //
else $scenario->setLog('| [Erreur] Version de Jeedom insuffisante '. $version .' < 4.2'); //
$scenario->setLog('└────────────────────────────'); //
//////////////////////////////////////////////////////////////////////////////////////////////////////////