Dans le cadre du projet du cours AMT (Application multi-tiers) à la HEIG-VD, nous sommes chargés de créer un site web de e-commerce décomposé en microservices.
Le repository du service d'authentification est disponible via ce lien: https://github.com/K-do/AMT-AuthService/tree/dev
Nous avons choisi de créer une boutique en ligne de boulangerie et pâtisserie.
- Postgresql (v13 ou supérieure)
- Java 11
- Docker et docker-compose (optionnels)
- Télécharger la release et l'extraire.
- Ajouter les données de connexion à la base de données dans le fichier
config/application.properties
(il peut être nécessaire de le créer). - Ajouter la clé publique (nommée
publicKey.pem
) dans le dossier contenant l'exécutable. Si vous souhaitez changer le nom ou l'emplacement de la clé, il suffit d'ajouter à la configurationmp.jwt.verify.publickey.location=[LOCATION]
où LOCATION est l'emplacement de la clé. Pour la génération de la clé, se reférer à la documentation du service d'authentification - Indiquer l'adresse du serveur d'authentification avec la propriété :
auth.server.url=[URL]
dans la config. - Lancer le serveur avec
java -jar target/quarkus-app/quarkus-run.jar
.
Les étapes ci-dessous permettent de mettre en place l'environnement de développement en local afin de travailler sur le projet :
-
Cloner le repository.
-
Mettre en place la base de données
- Standalone
Si vous disposez déjà de PostgreSQL, vous pouvez créer une nouvelle base de données ou en utiliser une existante. Pour créer une base de données depuis psql :
create database [DATABASE_NAME];
Une fois la configuration terminée, vous pouvez mettre les informations de connexions dans le fichier
config/application.properties
. (L'utilisateur à fournir doit avoir des droits de lecture et d'écriture)- Docker :
docker-compose up
dans le dossierdocker
Pour autant que la DB soit vide, Liquibase se chargera de créer les tables nécessaires au lancement du projet.
-
Copier la clé publique du serveur d'authentification dans
main/ressources
. La clé publique doit se nommerpublicKey.pem
sinon il faudra modifier le fichiermain/ressources/application.properties
. L'algorithme de vérification de signature est ES256. Si les clés générées utilisent un autre algorithme, il faudra modifier le fichiermain/ressources/application.properties
comme avant. -
Lancer l'application en mode dev avec
mvn compile quarkus:dev
. -
Se connecter avec un navigateur sur localhost:8080.
Les Pull Requests sont les bienvenues. Pour des changements majeurs, ouvrez s'il vous plaît une issue pour discuter de ce que vous souhaitez changer. Soyez sûrs de mettre à jour les tests si nécessaire.
- Léonard Besseau
- Alexandra Cerottini
- Miguel Do Vale Lopes
- Fiona Gamboni
- Nicolas Ogi