Tequila permet aussi l’authentification dans les cgi-bin.
Le rpm de tequila-clients contient un module perl qui va permettre de gérer des sessions pour des applications. Par défaut, ce module est placé dans /var/www/cgi-bin/Tequila/Clients.pm [1].
Le module perl contient un ensemble de méthodes accessibles depuis un script perl. Quelques exemples permettront de d’utilser ces méthodes, de façon simple mais parfois aussi complexe.
Préliminaire important En cas d’échec d’authentification, le serveur ne rendra pas la main à l’application.
Ce cgi-bin tout simple requiert simplement une authentification par Tequila et imprime quelques attributs renvoyés par le serveur :
use strict;
use Tequila::Client;
my $tequila = new Tequila::Client ();
$tequila->setservice ('Tequila example 1');
$tequila->setlang ('french');
$tequila->authenticate ();
Une fois l’authentification validée, Tequila rend la main à la variable urlaccess [Par défaut, l’url appelante, càd l’adresse de cet exemple].
Il est possible de récupérer les différents attributs concernant une personne qui s’authentifie. Certain seront requis (request) et certains souhaités (wish). Lors de son authentification, l’utilisatrice ne pourra pas ignorer ce qui se passe et pourra décider si, oui ou non, les attributs souhaités seront communiqués à l’application.
use strict;
use Tequila::Client;
my $tequila = new Tequila::Client ();
$tequila->authenticate ();
L’annuaire de l’EPFL comprend aussi une interface avec l’Accreditation de l’EPFL. Ceci peut se visualiser en cliquant sur le lien Voir les accréditations de cette personne qui se trouve au bas du résultat d’une requête dans l’annuaire ldap .
Par Tequila, il est alors possible d’utiliser ces informations au sein du cgi.
use strict;
use Tequila::Client;
my $tequila = new Tequila::Client ();
$tequila->authenticate ();
[1] Si les cgis sont ailleurs, il suffit de déplacer le répertoire Tequila/.
[2] Bien que non obligatoire, cette option est conviviale.
[3] A ce jours 3 langues sont possibles : english, français et deutsch
[4] Par défaut, la session est créée par un appel de Tequila au fichier cgi-bin/tequilalogin (variable urlauth)
Cette création est mise à disposition sous contrat Creative Commons by-sa.