Aller au contenu principal

Configuration CAS Local

Quelques infos pour la prise en main / paramétrage de l'authentification Oauth avec la maquette CAS

Prérequis:

Modification du fichier host

important

Le backend doit être capable de résoudre l'adresse cas.ub.local (qui est l'adresse déclarée dans le certificat du CAS) pour pointer vers le CAS. Cela se fait par la configuration du fichier host sur notre poste local

Fichier hosts windowsEmplacement:

  • Sous linux: /etc/hosts
  • Sous windows: C:/Windows/System32/drivers/etc/hosts

Ce fichier est à ouvrir avec les droits admin. Sous windows, visual studio code gère bien cet aspect pour info.

Configuration du backend en local

Ça se fait en trois étapes :

1 - Exporter le certificat depuis le conteneur (il faut que le conteneur tourne)

docker-compose exec cas keytool -exportcert -alias cas.ub.local -keystore /etc/cas/thekeystore -rfc -storepass changeit > cas-ub-local.pem

2 - Repérer le keystore local.

L'emplacement du keystore est dans un fichier cacerts lié au Java utilisé. Si vous utilisez IntelliJ, on peut repérer facilement l'emplacement du JRE sur la console de lancement (Onglet 'Run')

Emplacement JDKDans mon cas, le keystore va être à l'emplacement suivant : /home/doucey/.jdks/azul-17.0.5/lib/security/cacerts

3 - Importer le certificat dans le keystore java

keytool -import -noprompt -v -trustcacerts -alias cas.ub.local -file ./cas-ub-local.pem -keystore /home/doucey/.jdks/azul-17.0.5/lib/security/cacerts -keypass changeit -storepass changeit

NB : On peut utiliser la même commande avec la variable d'environnement %JAVA_HOME% :

Exemple avec la CMD Windows :

 keytool -import -noprompt -v -trustcacerts -alias cas.ub.local -file ./cas-ub-local.pem -keystore "%JAVA_HOME%/lib/security/cacerts" -keypass changeit -storepass changeit

Méthode alternative pour récupérer le certificat

1 - Monter l'image et exporter le certificat à partir du fichier thekeystore accessible par le point de montage :

# Monter l'image ("podman unshare" nécessaire en mode rootless) :
$ podman unshare podman image mount harbor-registry.srv.u-bordeaux.fr/maquette-cas/maquette-cas:6.6.8-1

# Se déplacer à la racine du point de montage

# Export du certificat (la commande "keytool" provenant de la version de java locale à la machine)
$ keytool -exportcert -alias cas.ub.local -keystore etc/cas/thekeystore -rfc -storepass changeit > cas-ub-local.pem