Clap deuxième

Samedi 2 octobre 2004 16:20 - Code

Mmmmh. Non, pas clap. Scalp, c'est bien, scalp. En plus ça pourrait faire un chouette acronyme.

Scalp permettait dans sa version du 22 septembre d'ajouter en une fonction le support de l'identification Liberty Alliance à un projet. C'était déjà pas mal mais il y avait quand même deux grosses lacunes:

  • ça n'aidait en rien les utilisations de Lasso qui dépassaient le profil "single sign on";
  • le projet n'existait que dans la description qui en avait été faite sur ce carnet.

Scalp propose donc maintenant, en plus de l'aspect « SSO facile » décrit précédemment, un aspect « fonctions que j'aurais bien aimé voir dans Lasso mais bon ça va je me tais ».

Pour le moment, ce second aspect ne comporte qu'une fonction:

int scalp_is_liberty_query(char *query_string);

Cette fonction détermine si la query string (c'est le brol derrière le point d'interrogation dans une URL) est Liberty ou pas. C'est utile dans les cas où la même URL sert à la fois comme départ de profil (dans ce cas, les paramètres sont laissés au loisir de l'application) et comme étape de profil (via un redirect, cas où les paramètres sont définis dans la spécification). Concrètement, ça s'utilise comme ceci:

if (scalp_is_liberty_query(getenv("QUERY_STRING"))) {
        /* on est une étape de profil, faire avec */
} else {
        /* on est le départ du profil, faire avec */
}

Les observateurs attentifs remarqueront qu'il n'est pas question de profil particulier ici; c'est exact, cette fonction marche quelque soit le profil. « Elle est pas belle, la vie ? ».

Ah. Et le second point est réglé aussi. Le code existe. scalp.tar.gz.

Dernière modification: samedi 2 octobre 2004 20:57