Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Connexion à l'espace utilisateur (mode distant) #421

Draft
wants to merge 32 commits into
base: main
Choose a base branch
from

Conversation

lowzonenose
Copy link
Contributor

@lowzonenose lowzonenose commented Dec 11, 2024

EVOLUTION de l'authentification

issue : #56

⚠️ Cette PR est lié à la PR #361
⚠️ Cette PR est lié à la PR #439

ℹ️ demandez moi les identifiants pour la review ou sinon, ils sont disponible sur teams !

Workflow

72cd3a03-139a-4629-b8d8-c036d903662f

L'idée est d'utiliser le module d'authentification de cartes.gouv.fr afin de centraliser les jetons de sessions (au niveau du backend de cartes.gouv.fr et du REDIS).

Ce mécanisme est à utiliser en production.
Pour développement, il est possible d'utiliser le mode d'authentification local (ceci évite d'avoir un deplopiement du projet cartes.gouv.fr en local).

Config

La configuration du mode remote se fait via le fichier d'environnement ou à travers des variables d'environnement :
Ex. .env.stage.local

IAM_URL="https://sso.geopf.fr"
IAM_REALM="geoplateforme"
IAM_CLIENT_ID="cartes-gouv-fr-carto"
IAM_CLIENT_SECRET=                           <!-- AJOUTER LA CLEF PUBLIC -->
# Mode auth local ou remote (distant)
#   la redirection est vide en mode auth local,
#   sinon en mode auth distant, on doit renseigner l'URL
#   par ex. https://cartes.gouv.fr/login/entree-carto
IAM_AUTH_MODE="remote" 
IAM_REDIRECT_REMOTE="http://localhost:9092/login/entree-carto"

avec la commande pour lancer le serveur locale :

npm run dev -- --mode stage

Sinon, avec les variables d'environnements :

IAM_AUTH_MODE="remote" \
IAM_REDIRECT_REMOTE="http://localhost:9092/login/entree-carto" \
IAM_URL="https://sso.geopf.fr" \
IAM_REALM="geoplateforme" \
IAM_CLIENT_ID="cartes-gouv-fr-carto" \
IAM_CLIENT_SECRET=  \
npm run dev

@lowzonenose lowzonenose self-assigned this Dec 11, 2024
@lowzonenose lowzonenose added the enhancement Améliore le comportement du composant label Dec 11, 2024
@lowzonenose
Copy link
Contributor Author

tests

condition des tests

IAM_URL="https://sso.geopf.fr"
IAM_REALM="geoplateforme"
IAM_CLIENT_ID="cartes-gouv-fr-carto"
IAM_CLIENT_SECRET="..."
# Mode auth local ou remote (distant)
#   la redirection est vide en mode auth local,
#   sinon en mode auth distant, on doit renseigner l'URL
#   par ex. https://cartes.gouv.fr/login/entree-carto
IAM_AUTH_MODE="remote" 
IAM_REDIRECT_REMOTE="http://localhost:9092/login/entree-carto"
IAM_CLIENT_ID_REMOTE="cartes-gouv-dev"
IAM_CLIENT_SECRET_REMOTE="..."

scenarios

  • je suis déjà connecté sur cartes.gouv.fr

on se connecte sur l'entrée carto, il n'y a pas de demande d'authentification, le jeton est juste renvoyé par cartes.gouv.fr

  • je suis connecté des 2 cotés

je me deconnecte de l'entrée carto, je rafraîchie la page de cartes.gouv.fr, une demande de re authentification est exécutée

  • je suis déconnecté des 2 cotés

je me connecte sur l'entrée carto, une demande d'authentification est faite, je rafraîchie la page de cartes.gouv.fr, et je suis connecté des 2 cotés

  • je me deconnecte de l'entrée carto

le sso est appelé, je rafraichie la page de cartes.gouv.fr, je suis deconnecté
⚠️ il semble que la déconnexion ne soit pas correctement realisée sur keycloack !?

Base automatically changed from feature/connexion to main December 19, 2024 11:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement Améliore le comportement du composant
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant