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
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
Emplacement:
- 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')
Dans 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