Ce projet est une preuve de concept (PoC) démontrant l'utilisation de Keycloak avec le package python-keycloak
.
Il inclut des tests effectués avec Jupyter Notebook pour valider les fonctionnalités d'authentification
et d'autorisation.
- Python 3.8+
- Docker (pour exécuter Keycloak)
- Jupyter Notebook
-
Clonez le dépôt :
git clone https://github.com/votre-utilisateur/keycloak-poc.git cd keycloak-poc
-
Créez et activez un environnement virtuel :
python -m venv venv source venv/bin/activate # Sur Windows : venv\Scripts\activate
-
Installez les dépendances :
pip install -r requirements.txt
-
Lancez Keycloak via Docker :
docker compose up
- Accédez à l'interface d'administration de Keycloak à
http://localhost:8080
. - Connectez-vous avec les informations d'identification administrateur (
admin
/admin
). - Créez un nouveau Realm.
- Créez un Client dans ce realm.
- Configurez les Rôles et les Utilisateurs nécessaires.
Créez un fichier .env
à la racine du projet avec les informations suivantes :
```plaintext
KEYCLOAK_URL=http://localhost:8080
KEYCLOAK_REALM=nom_du_realm
KEYCLOAK_CLIENT_ID=nom_du_client
KEYCLOAK_CLIENT_SECRET=secret_du_client
KEYCLOAK_ADMIN_USERNAME=admin
KEYCLOAK_ADMIN_PASSWORD=admin
```
L'application principale est conçue pour être utilisée via des notebooks Jupyter. Lancez Jupyter Notebook :
```bash
jupyter notebook
```
Ouvrez le fichier keycloak-admin-connect.ipynb
et openid-keycloak-connect.ipynb
et exécutez les cellules
pour interagir avec Keycloak en utilisant le package python-keycloak
.
Les tests sont inclus dans le notebook keycloak-admin-connect.ipynb
et openid-keycloak-connect.ipynb
.
Chaque cellule contient des commandes qui testent différentes fonctionnalités de l'intégration Keycloak.
Assurez-vous que votre serveur Keycloak est en cours d'exécution avant d'exécuter les tests.
Les contributions sont les bienvenues ! Veuillez suivre les étapes suivantes pour contribuer :
- Forkez le dépôt.
- Créez une branche pour votre fonctionnalité (
git checkout -b ma-nouvelle-fonctionnalité
). - Commitez vos modifications (
git commit -am 'Ajouter ma fonctionnalité'
). - Poussez la branche (
git push origin ma-nouvelle-fonctionnalité
). - Ouvrez une Pull Request.