Groupe 1B (SSO et gestion des autorisations)

Date de création : 3 juillet 2003
Dernière modification :
Diffusion : internet

API ESUP-Portail pour CAS

D'après les recommandations du SDET (groupe AAS), les briques des ENTs, dontcelle du SSO, doivent pouvoir être inter-changeables. Dans ce but, ainsi que pour prévoir le remplacement de CAS par une autre mécanisme de SSO dans le cadre de ESUP-Portail, une API doit être développée pour minimiser les modifications en cas de changement.

Parce que le changement de SSO aurait certainement pour conséquence un changement des paramètres nécessaires (cf plus haut), il est décidé de mettre ces différents paramètres dans un fichier de configuration. Outre l'abstraction des paramètres, cela a pour conséquence la mutualisation possible pour plusieurs applications de ces paramètres.

Note : on pourrait éventuellement penser généraliser en donnant une URL, mais cela peut poser des problèmes de sécurité.

Exemple pour PHP

Une bibliothèque phpEsupSSO doit permettre d'abstraire phpCAS.

phpEsupSSO::client("/etc/sso/cas.xml");

Fichier de configuration

Le format du fichier de configuration n'est pas décidé.

Pascal est plus pour une configuration XML pour l'uniformité et le respect des consignes du groupes des normes.

Vincent préfère une configuration textuelle pour des raisons d'efficacité.

Olivier pense que l'on peut ménager la chèvre et le chou en adoptant une configuration XML et recommander aux librairies clientes d'effectuer une lecture du fichier sans parsing XML.

Exemple de configuration XML (cas.xml) et DTD (cas.dtd)

cas.xml

<cas 
  version="2.0" 
  hostname="cas.univ-rennes1.fr" 
  port="443" 
  base_uri="/cas" 
/> 

cas.dtd

<!ELEMENT cas EMPTY>
<!ATTLIST cas
          version CDATA #REQUIRED
          hostname CDATA #REQUIRED
          port CDATA #REQUIRED
          base_uri CDATA #REQUIRED>

Exemple de configuration textuelle (cas.conf)

cas.conf

version: 2.0
hostname: cas.univ-rennes1.fr
port: 443
base_uri: /cas