Toute l'actualité du CMS TYPO3, typoscripts, extensions, liens et téléchargements
Nous sommes le 05/02/2012
Enfin le support de l'OpenID !
Il faut avant tout remercier Dmitry Dulepov pour avoir été l'initiateur d'une telle fonctionnalité dans TYPO3. A l'origine, il ne s'agissait que d'un patch à intégrer dans le core de TYPO3 et puis au fil des discussion dans la mailing liste typo3-team-core, il a été décidé d'intégrer le support de l'OpenID depuis une extension.
OpenID authentication (openid) est devenue le 29 octobre 2008 une extension système dans la version en développement de TYPO3 4.3. Comme toute extension système, elle se situe dans le dossier typo3/sysext.
Pour le moment, l'extension openid utilise le système de fichiers pour stocker les données OpenID mais il est prévu d'utiliser la base de données ou le cache de FLOW3.
OpenID ? Pourquoi faire ?
L'extension fourni une authentification pour le backend et le frontend. OpenID est un système d'authentification décentralisé et qui permet de
se connecter sur plusieurs sites offrant ce mode de connexion avec un identifiant unique. C'est un concept très en vogue actuellement qui est né courant 2005.
En juin 2007, la fondation OpenID Foundation (http://openid.net/foundation/) a été créée pour représenter la communauté OpenID. Il existe en Europe un représentant par pays. Plus d'informations à ce sujet : http://wiki.openid.net/Main_Page
Pour en revenir à l'utilité d'OpenID, de grands acteurs l'ont déjà adoptée. Yahoo mail propose a annoncé le support de l'OpenID début 2008 et ce sera prochainement le tour de Microsoft avec ses comptes Live.
Installation de l'extension openid
Voici brièvement le déroulement du processus d'installation en images.
L'extension système apparait dans la liste. Les tables fe_users et be_users doivent être mises à jour.
L'installation est terminée !
Voici le contenu de l'extension :

La configuration d'OpenID
Il n'y a pas de configuration disponible. Une fois que l'extension est installée, elle devient disponible pour tous les utilisateurs. Ces derniers doivent tout simplement écrire leur identifiant dans la zone de login. La zone du mot de passe est ignorée. Le double système d'authentification est possible : classique est OpenID. Pour encourager l'utilisation de l'OpenID, l'administrateur TYPO3 peut éventuellement exiger un nombre minimal de caractères dans le mot de passe lors de l'inscription mais la majorité utilise un gestionnaire de mots de passe...
Version minimale
La version minimal de TYPO3 est 4.3 et nécessite PHP 5.2
Première essai
Voilà ce que l'on a par exemple pour un utilisateur backend :
Le champ OpenID identifier apparait désormais dans la TCA pour les utilisateurs backend. Nous avons également un champ supplémentaire pour les utilisateurs frontend.
J'ai testé l'authentification backend car c'était pour moi le plus rapide.
Vous pouvez créer un compte OpenID sur une liste de sites internet OpenID. Renseignez ensuite votre identifiant OpenID. Pour faire simple, je l'ai rajouté à mon login backend.
Après une déconnexion, connectons-nous à nouveau mais avec l'identifiant OpenID.
Après quelques secondes, TYPO3 nous redirige vers le site où l'identifiant OpenID a été créé. D'ailleurs, lorsque vous entrez votre login, n'oubliez pas le http.
L'identifiant ressemble ainsi à un site Internet avec votre 'pseudo' en sous domaine. Vous pouvez d'ailleurs modifier cette page depuis votre fournisseur OpenID mais ce n'est pas l'objet de cet article :)
A noter que si vous étiez déjà connecté à votre site OpenID, vous devriez avoir une demande de confirmation pour être redirigé vers le site TYPO3, le backend dans notre exemple.
L'authentification a réussie !
Il existe quelques problèmes cependant... Le nom d'utilisateur (username) de l'utilisateur doit être unique. Dans le cas contraire, TYPO3 renomme à votre insu le nouveau login et l'authentification OpenID disparait (c'est un fonctionnement voulu et indiqué justement dans la documentation). J'ai eu un comportement assez bizarre de l'extension : les utilisateurs étaient tous mélangés et leurs données ne correspondaient plus !
En résumé ...
TYPO3 prend de l'avance sur d'autres CMS et c'est tant mieux. Le support de l'OpenID nous le montre d'ailleurs, même si l'extension est encore perfectible mais les quelques problèmes qui subsistent seront résolus très rapidement. La version 4.3 de TYPO3 va inclure d'autres nouveautés. Nous y reviendrons au moment de sa publication.