2 nouveaux clients ont été ajoutés au dépot git https://github.com/EsupPortail/esup-sgc-client dans les branches :
- https://github.com/EsupPortail/esup-sgc-client/tree/master-shib-auth (Encodage manuel)
- https://github.com/EsupPortail/esup-sgc-client/tree/univ-rouen-robot-zxp3-shib-auth (Encodage via le robot ZXP3)
Ces clients ont été créés pour sortir du système Java Web Start (fichier JNLP) qui est en cours d’abandon.
Le lancement par jnlp nous permettait de passer les paramètres d'encodage à l'application (notamment le numéro Id du périphérique). Avec la nouvelle application on récupère maintenant un jar que l'on peut lancer directement. Au passage, l'application n'a plus besoin d'être signée.
La nouvelle application demande une connexion shibboleth via une webview intégrée (identique à l'application mobile) et utilise un localstorage pour stocker les informations nécessaires.
L'application doit avoir des droits d'écriture sur l'emplacement d'où elle est lancée pour pouvoir créer le fichier localstorage
Installation
Sources :
https://github.com/EsupPortail/esup-sgc-client.git
git clone https://github.com/EsupPortail/esup-sgc-client.git //ensuite au choix git checkout master-shib-auth //pour le client manuel git checkout univ-rouen-robot-zxp3-shib-auth //pour le client zxp3
Paramétrage
Il faut modifier le fichier src/main/resources/esupsgcclient.properties pour y mettre vos adresses esup-nfc-tag-server et esup-sgc et activer ou non l'encodage CNOUS
esupSgcUrl = https://esup-sgc.univ-ville.fr esupNfcTagServerUrl = https://esup-nfc-tag.univ-ville.fr encodeCnous = false
Compilation esup-sgc-client
Dans le dossier esup-sgc-client executer :
mvn clean package
Pour disposer du jar au sein du site ESUP-SGC :
Copier le fichier esupsgcclient-1.1-SNAPSHOT-jar-with-dependencies.jar en le renommant esupsgcclient-shib.jar dans la webapp esup-sgc ou dans vos sources sous src/main/webapp/ avant de compiler esup-sgc
pour le client zxp3 le fichier doit être renommé esupsgcclient-r2d2-shib.jar.
Lancement
L'application fonctionne sous java 8 avec JavaFX.
Sur vos postes, nous recommandons l'usage d'openJDK https://jdk.java.net et openJFX https://gluonhq.com/products/javafx/ (voir également https://openjfx.io/openjfx-docs/ ) qui sont des produits opensource et gratuits.
La commande à lancer est la suivante :
java.exe --module-path %PATH_TO_FX% --add-modules javafx.controls,javafx.fxml,javafx.base,javafx.media,javafx.graphics,javafx.swing,javafx.web -jar esupsgcclient-shib.jar
Précisions
Les installations d'openJDK et OpenJFX correspondent à dézipper leurs archives dans un répertoire donné.
Sur un poste windows, on peut par exemple les dézipper dans un répertoire C:\esup-sgc-client, on aura ainsi
- C:\esup-sgc-client\jdk-12.0.1 pour le JDK
- C:\esup-sgc-client\javafx-sdk-12.0.1 pour le JavaFX
En plaçant le JAR d'esup-sg-client (esupsgcclient-shib.jar) dans ce même répertoire C:\esup-sgc-client on peut ainsi finalement exécuter le JAR ainsi :
C:\esup-sgc-client\jdk-12.0.1\bin\java.exe --module-path C:\esup-sgc-client\javafx-sdk-12.0.1\lib --add-modules javafx.controls,javafx.fxml,javafx.base,javafx.media,javafx.graphics,javafx.swing,javafx.web -jar C:\esup-sgc-client\esupsgcclient-shib.jar
Si vous utilisez cette commande au travers d'un raccourci windows (pour faciliter son usage c'est une bonne idée), n'oubliez pas également de préciser le répertoire d'exécution comme étant également C:\esup-sgc-client.
A l'exécution ce client esup-sgc-client esupsgcclient-shib.jar écrit en effet 2 fichiers dans le répertoire courant :
- un fichier de logs pour éventuellement tracer les actions/infos/erreurs
- un fichier contenant un jeton d'authentification permettant à l'utilisateur d'éviter de devoir resssisir ses identifiants à chaque lancement de l'application.