Exemple d'une implémentation de l'authentification OpenID-Connect Keycloak dans un programme python (par exemple CLI, plugin qgis etc.)
Dans ce dépôt, il y a :
- un mini-module en python qui implémente la connexion et la déconnexion à Keycloak que vous pouvez tester en exécutant la commande suivante :
python ign_keycloak/example.py
- un plugin qgis bidon pour tester le module python en copiant le dossier
keycloak_auth_plugin
dansC:\Users\<USERNAME>\AppData\Roaming\QGIS\QGIS3\profiles\default\python\plugins
Consulter les dépendances python dans le fichier ./environment.yml
Créer ou mettre à jour l'environnement virtuel python (conda-like) :
micromamba env create --file "./environment.yml"
Activer l'environnement virtuel python :
micromamba activate keycloak
Supprimer l'environnement virtuel :
micromamba env remove --name keycloak
Export environnement virtuel :
echo "# Export date:" $(date) > environment.export.yml && micromamba env export >> environment.export.yml
Aide mémoire commandes conda : https://www.machinelearningplus.com/deployment/conda-create-environment-and-everything-you-need-to-know-to-manage-conda-virtual-environment/
Copier la librairie ign_keycloak dans le projet du plugin qgis :
cp ign_keycloak/ign_keycloak -R keycloak_auth_plugin/lib/ && rm -rf keycloak_auth_plugin/lib/ign_keycloak/__pycache__/