Objectifs

Participants

Organisation

Avancées

Partie uPortal4 (serveur)

Shibbolethisation d'un uPortal 4.0.3 OK.

Notes de procédure :

Implémentation de la possibilité de Proxy CAS sur N serveurs CAS (en plus de l'authentification Shib) OK

-> prochaines étapes :

Partie uMobile (client mobile iOs/Android)

Le client lourd uMobile permet de saisir une fois pour toute son username/password sur son smartphone/tablette.

Au 12/03/2012, 3 méthodes d'authentification ont été développées actuellement dans uMobile :

* authentification locale au portail

* authentification CAS : simulation de l'envoi du formulaire CAS avec le username / password saisis par l'utilisateur

* authentification Shibboleth : simulation de l'envoi du formulaire IDP Shibboleth avec le username / password saisis par l'utilisateur
-> utilise un IDP spécifique configuré dans uMobile (config.js) via la variable SHIB_BASE_URL et préfigure que l'IDP Shibboleth utilise son mécanisme interne pour l'authentification (et non une délégation d'authentification à CAS).

Ainsi il ne permet pas actuellement de s'authentifier en Shibboleth comme on l'entend (et pas non plus évidemment en "shib + cas")

En utilisant une URL qui permet de court-circuiter le WAYF (on y sélectionne alors un IDP spécifique) et en recodant une authentification spécifique CAS + Shib (correspondant à un mixe de CASLogin.js et Shibboleth2Login.js ; cf ci-joint le fichier ShibbolethCasLogin.js ) on y arrive ... presque :

* malheureusement le bug Titanium suivanthttps://jira.appcelerator.org/browse/TC-676 fait que les redirections ne fonctionnement pas correctement, l'authentification échoue alors. Ce bug concerne iOS uniquement (et non Android).
* sur Android, ça marchotte : le nombre de redirections 302 à effectuer est tellement important (l'authentification shib + cas pour le proxy cas nécessite pas mal de redirections de la part du client web) que le client http (org.apache.http) utilisé croit détecter une redirection infinie (Circular redirect) qui provoque une Exception et donc stoppe le processus d'authentification + récupération du layout.json de manière authentifiée ...