Encryption des credentials

Bonjour @Loic,

Je ne suis pas sur que tu ais vu ma proposition de PR sur le plugin sonos d’il y a quelques jours donc je me permet de te ping ici:

Je pense que tu n’as pas besoin d’explication :wink:

Pour les autres, ceci n’est pas (encore) documenté je pense, mais cela permet que le core encrypt et decrypt en db automatiquement certaines configs de vos plugins pour vous, pour les informations sensibles comme user/pswd c’est toujours mieux :wink:
Et comme vous pouvez le voir c’est hyper simple, il suffit de lister les clés et au prochain save du plugin cela sera encrypté, pas besoin de gérer la migration des données.
J’ai rajouté ca sur tous mes plugins depuis plusieurs mois et cela fonctionne sans problème.
Uniquement pour les configs plugin, pas sur eqLogic ou cmd !

@Loic, je trouverais ca bien d’avoir le même système pour les config d’eqlogic, on a assez souvent des secrets sur l’équipement directement.

1 « J'aime »

Salut,

J’étais passé a coté désolé, c’est accepté. Pour les équipements c’est possible suffit de faire :

        public function decrypt() {
		$this->setConfiguration('password', utils::decrypt($this->getConfiguration('password')));
		$this->setConfiguration('localApiKey', utils::decrypt($this->getConfiguration('localApiKey')));
	}

	public function encrypt() {
		$this->setConfiguration('password', utils::encrypt($this->getConfiguration('password')));
		$this->setConfiguration('localApiKey', utils::encrypt($this->getConfiguration('localApiKey')));
	}

Tu mets ca dans ta class eqLogic et le core fait le reste tout seul.

1 « J'aime »

Hello @Loic,

Super intéressant ces 2 fonctions !!
Par contre je vais peut-être poser une question bête, mais qd sont-elles appelées ?

Xav

Ben quand il faut… Le but c’est d’encrypter dans la bdd donc le core gère ca

Bon ok alors j’ai loupé qqchose ! J’ai ajouté les 2 fonctions dans ma class EqLogic et j’ai refait un save de ce mon équipement.
En vérifiant dans la BDD, le password est toujours en clair. Je vais regarder ça en détail demain ! Merci :stuck_out_tongue_winking_eye:

Tu as bien mis dans la class eqLogic de ton plugin ?

yes c’était bien bon.
Avec quelques logs j’ai trouvé la réponse. Un save de l’équipement sans modifier une des données de configuration de l’équipement n’appelait pas la fonction encrypt ! Avec une modification c’est mieux :stuck_out_tongue:
Tout est OK ! Merci pour cette astuce !

Xav

Dernière remarque @Loic : lorsque l’on clique sur la configuration avancée de l’équipement, puis informations, le password reste en clair. Ce ne serait pas intéressant qu’il soit aussi affiché en crypté ?
Idem qd on inspecte la page de l’équipement via la console des navigateurs ? Après ce n’est peut-être pas possible ?

Ben non c’est justement le but c’est crypté en base mais nul part ailleurs pour que ça soit transparent dans vos plugins

Ok je comprends :+1:t2::+1:t2:
Merci

Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.