# Combiner OpenID et OAuth

Je ne suis pas le seul à avoir cette idée mais ça me semble assez évident qu'il faille essayer de limiter le nombre d'allers-retours de l'utilisateur. Le vrai problème du Web Sémantique c'est qu'il manque encore trop de briques... pas évident d'avancer lorsqu'il manque les fondations.

Au passage, j'ai trouvé une comparaison des providers OpenID intéressante.

### Articles peut-être en rapport

- L'inutile instantanéité 2.0
- Lancement de mixin
- Pourquoi tout le monde parle d'identi.ca

### Commentaires

Guillaume S. le 16/07/2008 :

Pas mal, la comparaison des fournisseurs d'openID...
Pour ce qui est de la combinaison d'openID et OAuth, ça reste au delà de ma compréhension.

Rien à voir - de mon côté, j'essaie de comprendre l'interêt de MicroID.

David, biologeek le 16/07/2008 :

Les micro esprits se rencontrent : https://larlet.fr/david/biologeek/archives/20080716-differences-entre-identification-autorisation-et-authentification/ ;-)

Got le 17/07/2008 :

Cela pourra peut-être t'intéresser : http://blogs.sun.com/bblfish/entry/foaf_ssl_creating_a_global . Si, effectivement, la brique Trust du layer cake (http://www.w3.org/2007/03/layerCake.png) n'est pas encore à l'étude, je ne vois pas ce qui t'empêche d'ajouter une couche applicative (maintenant, je ne suis ni architecte, ni développeur, alors les tenants et les aboutissants m'échappent peut-être...)

David, biologeek le 18/07/2008 :

@Got : oui j'ai lu avec intérêt les billets d'Henry Story sur le sujet mais ça me semble plus compliqué que ce qui peut être fait avec OAuth.

Concernant la brique Trust, tant qu'elle ne sera pas là les applications "grand public" ne pourront pas être développées... et c'est bien dommage.

Damien B le 18/07/2008 :

"ça me semble plus compliqué que ce qui peut être fait avec OAuth"

Oui, mais ça permet de faire des choses que ne permet pas OAuth : se passer de l'interaction utilisateur sur le Service Provider à chaque nouvelle session du Customer.
Alors évidemment, ça fait revenir dans la boucle X.509, et la notion de chaîne de confiance, ce qui est lourd. Mais pour l'instant on n'a pas vraiment de meilleur modèle qui permet la montée en volume.

"Concernant la brique Trust, tant qu'elle ne sera pas là les applications 'grand public' ne pourront pas être développées... et c'est bien dommage."

Mouais, à quoi sert une application "grand public" si on ne peut pas récupérer les informations qui sont dedans ? Ce n'est pas parce que la brique Trust est manquante qu'on ne peut pas récupérer nos informations à gauche et à droite, à commencer par les informations de tracking nominatifs utilisées par certaines entreprises pour cibler leurs publicités.

David, biologeek le 19/07/2008 :

@Damien B:

> se passer de l'interaction utilisateur sur le Service Provider à chaque nouvelle session du Customer.

Tu peux détailler ? (bon attend j'augmente la taille des commentaires en base avant ;-))
Je vois pas où est l'interaction de l'utilisateur "à chaque nouvelle session" avec OAuth, ou alors pour des Customers différents ?

> Mouais, à quoi sert une application "grand public" si on ne peut pas récupérer les informations qui sont dedans ?

L'idée ce n'est pas de bloquer l'accès mais de restreindre en fonction du demandeur, c'est un peu la base. J'expose par exemple pas mal d'infos dans mon FOAF, je voudrais pouvoir restreindre certaines parties aux personnes qui sont déclarées comme amies dans ce même fichier. Pas évident en l'état actuel.

Damien B le 20/07/2008 :

> > se passer de l'interaction utilisateur sur le Service Provider à chaque nouvelle session du Customer.

> Tu peux détailler ?

A la base la phrase vient d'une mauvaise lecture de OAuth Core 1.0, qui laisse sous-entendre dans le graphique que la convesation Request et la conversation Access se déroulent systématiquement dans une session ^^; C'est un peu mal fait :-) Bref, je m'ai trompé.

Effectivement, rien n'est dit sur la longévité de l'Access token. Mais de toute façon, il est difficilement pensable de le laisser vivre indéfiniment, déjà pour faciliter la gestion de la répudiation. Et là, pour en avoir un nouveau, il est obligé d'avoir un nouveau Request token, et hop, on refait le cycle. (hop, quasi sauvé ^^;)

> L'idée ce n'est pas de bloquer l'accès mais de restreindre en fonction du demandeur [...]. J'expose par exemple pas mal d'infos dans mon FOAF, je voudrais pouvoir restreindre certaines parties aux personnes qui sont déclarées comme amies dans ce même fichier. Pas évident en l'état actuel.

C'est simple pourtant : FOAF + XACL (ou format perso, ça n'est pas partagé de toute façon) + authentification avec login / mdp envoyé aux adresses mail des contacts. Présupposé : l'adresse mail du contact est sécurisée. Inconvénient : authentification centralisé. Mais, authentification et ACL sont disjoints.

Sinon, si c'est un partage par communication entre applications, on a plusieurs problématiques :
- authentification
- protocole de communication
- format d'échange

Et... et... oui : CORBA, Tuxedo/Q, Tibco, RMI, EJB, SUN RPC, SOAP. On est en plein dedans. Je ne mets pas "autorisation" dans les problématiques, parce qu'en fait, c'est un problème strictement interne au fournisseur.
Authentification : en système "non-web", c'est Kerberos qui est sorti vainqueur. Evidemment, ça n'est pas supporté par les serveurs et les navigateurs web, la priorité étant de se tordre la nouille avec HTML5.
Format d'échange : REST, OAuth, OpenId, etc... disent : "ce n'est pas notre problème". SOAP impose XML, ce qui passe souvent par l'utilisation de XLM Schema, vu que c'est ce qui est craché par défaut quand on génère un WSDL, ce à quoi le web répond : "ouin, c'est trop dur, et les namespaces cémal". HTML5 dit "les grammaires çapue, les namespaces çapue".
Solutions que tu as évoqué récemment : Thrift et Protocol Buffers. Les deux implémentant la partie protocole et format, les deux laissent de côté l'authentification, à un point tel que la seule solution de refaire de la gestion de jetons à la main (ce que tu appelles orthgonalité 2.0 :) )
Bref, ce n'est pas qu'on ne sait pas faire, ou qu'on n'a jamais fait ça sur les 30 dernières années, c'est juste que le web baigne dans un gros NIH, et en plus navigue constamment entre deux rives : bidouiller pour fonctionner avec les navigateurs existants, et forcer la mise à jour du client. Et pour l'instant, c'est l'approche des pra-ma-ti-que qui a la cote : c'est la fête à Mr. Bricolage.