index
Openid
Identification Unique : OpenId
OpenId propose une méthode d'identification sur Internet des utilisateurs similaire aux méthodes d'identification d'un site web: Avec un URI.
Puisque les URI sont la base de l'architecture du web, ils peuvent fournir un moyen simple et robuste pour gérer les identités des utilisateurs.
Aujourd'hui, les sites web demandent "nom" et "mots de passe" pour s'authentifier.Cela conduit les gens à avoir les mêmes mots de passe pour de nombreux sites.
Avec l'authentification openId, votre "username" est votre URI, et votre mot de passe (ou autre clé) reste en sureté chez votre fournisseur OpenId.
Plus d'infos: http://fr.wikipedia.org/wiki/OpenID
Vocabulaire
- OP: OpenId Provider
Un serveur d'authentification qui peut fournir un epreuve de l'identité.
- RP: Relying Party
Un serveur web qui veut identifier un utilisateur (user)
- OP Identifier
Un identifiant pour un OP
- Discovery
C'est l'action de découvrir le serveur de l'OP. En général, le serveur est defini dans un tag de l'en-tête html de la page disponible à l'url de l'identifiant.
- OP-Local Identifier C'est un identifiant défini dans le même domaine que celui de l'OP
- OpenID claimed Identifier C'est un identifiant à une URL quelconque
OpenId Identity URL
Il est possible d'utiliser n'importe quelle URL comme Id.
Il est cependant alors nécessaire d'avoir un document HTML qui comporte les tags suivants dans son en-tête: (Par exeemple si l'OP de conformix est utilisé avec l'Identifier bertrand-guiral
Echange d'attributs
Avec OpenId, les attributs sont échangés sous 2 formes:
- SReg : OpenID Simple Attribute Registration
9 attributs peuvent être échangés: nickname,email, fullname,dob, gender,postcode,country,lanage,timezone
- Ax : OpenId Attribute Exchange
Ax est extensible. L'OP peut stocker et/ou fournir (fetch et store) .
Chaque attribut est identifié par un URI.
Il y a 2 schémas courrament utilisés: http://shema.openid.net et http://www.axschema.org
Yadis
Yadis fournit un mécanisme pour découvrir les services disponibles à une URL.
Typiquement, un client OpenId utilisera yadis dans un premier temps pour obtenir des informations sur le mécanisme d'identification.
http://yadis.org
OpenID Messages
Les messages entre le OP et le RP sont précisément définis.
Deux modes d'échange de messages sont possibles: Soit direct, soit indirect.
Il y a 4 types de messages utilisés en OpenID:
- "associate"
- "checkid_immediate"
- "checkid_setup"
- "checkid_authentification"
Le "associate Request Message"
Ce message est envoyé par le RP (Relying Party) vers le OP (Identity Provider) et a pour objet d'établir un secret partagé entre le RP et l'OP.
Comme il s'agit d'une communication directe, la méthode "HTTP POST" est utilisée.
Ce message peut être envoyé à chaque fois que cela est nécessaire.
API java OpenId
Deux apis sont citées : openid4java et joid/.
Comme j'ai eu un peu de mal à les tester et les utiliser, j'ai mis en ligne mes exemples:
bg-openid4java et
bg-openid4java
Références
http://wiki.openid.net/LibrariesListe des api disponibles
http://code.google.com/p/joid/
openid4java Les exemples proposés ne marchent pas. Il faut passer par la case wiki.
Tutorial: Openid et php
Google openid Api
http://www.openidbook.com/download/openidbook.pdf
http://openid.net/specs/openid-authentication-2_0.html les specifs