Authentification avec OpenID

Date: 21/03/2007 | Catégories: Open-source,Reseau,Systeme | Tags: ,,,,,

Nous allons dans ce post expliquer comment mettre en place une authentification OpenID à partir du nom de domaine de votre site perso/blog.

OpenID est un système d'authentification décentralisé permettant une authentification unique à partir d'un nom de domaine DNS. Il vous permet donc de vous authentifier sur plusieurs sites avec le même profil (login, password, nom, adresse...). Plus d'info ici.

Ce que nous voulons obtenir: Une authentification dont l'OpenID sera: http://blog.nicolargo.com (à remplacer par votre nom de domaine dans le reste de ce tutoriel).

Creation d'un OpenID sur un serveur de confiance

La première chose à faire est de créer un ID chez un fournisseur d'identité. J'ai choisi de passer par le site https://www.myopenid.com/, mais d'autres fournisseurs existent. Il suffit de choisir un login (nicolargo dans mon cas), le serveur va créer un OpenID de la forme: http://nicolargo.myopenid.com.

Utilisation d'un nom de domaine personnel comme OpenID

Si vous disposez comme moi d'un nom de domaine (http://blog.nicolargo.com), il est très simple de l'utiliser en lieu et place de l'OpenID que vous venez de créer (http://nicolargo.myopenid.com). Pour cela, il faut ajouter les 2 lignes suivante dans la section <header> de votre page Web principale. Si comme dans mon cas votre site est un blog WordPress, il faut les ajouter dans le fichier header.php de votre thème.

...
<link rel=“openid.server” href=“https://www.myopenid.com/server” />
<link rel=“openid.delegate” href=“http://nicolargo.myopenid.com” />
...

Ces deux lignes vont automatiquement rediriger l'authentification depuis http://blog.nicolargo.com vers le serveur de confiance https://www.myopenid.com/server en utilisant l'OpenID http://nicolargo.myopenid.com.

Comment vérifier que cela marche ?

C'est très simple, il faut se rendre sur un des nombreux sites supportant l'OpenID (voir une liste ici) et s'enregistrer en utilisant votre nouvel OpenID (http://blog.nicolargo.com dans mon cas). Par exemple sur Ziki, lors de l'enregistrement, on est rediriger vers cette page:

Voila vos premiers pas accomplis dans le SSO !

  • Je viens de d’écouvrir un plugins permettant de mettre en place la délegation sous WordPress sans mettre les mains dans le code PHP…

    http://eran.sandler.co.il/openid-delegate-wordpress-plugin/

    Voili, c’est beau le net

  • Excellent tuto merci !

    Par contre le plugin pour WordPress donné en commentaire semble être court-circuité par mes autres plugins et est donc inutilisable en l’état, dommage… J’ai du opter pour mettre la main dans le cambouis de mon thème et rajouter les lignes à la main (rien de bien dommage en soit mais bon, j’ai les plugins qui bossent pour moi et me font oublier que je dois penser à remettre certaines lignes quand je change mon thème :p)