Repository with sources and generator of https://larlet.fr/david/ https://larlet.fr/david/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

index.html 14KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186
  1. <!doctype html>
  2. <html lang=fr>
  3. <head>
  4. <!-- Always define the charset before the title -->
  5. <meta charset=utf-8>
  6. <title>Combiner OpenID et OAuth — Biologeek — David Larlet</title>
  7. <!-- Define a viewport to mobile devices to use - telling the browser to assume that the page is as wide as the device (width=device-width) and setting the initial page zoom level to be 1 (initial-scale=1.0) -->
  8. <meta name="viewport" content="width=device-width, initial-scale=1"/>
  9. <!-- Fake favicon, to avoid extra request to the server -->
  10. <link rel="icon" href="data:;base64,iVBORw0KGgo=">
  11. <link type="application/atom+xml" rel="alternate" title="Feed" href="/david/log/" />
  12. <link rel="manifest" href="/manifest.json">
  13. <link rel="stylesheet" href="/static/david/css/larlet-david-_J6Rv.css" data-instant-track />
  14. <noscript>
  15. <style type="text/css">
  16. /* Otherwise fonts are loaded by JS for faster initial rendering. See scripts at the bottom. */
  17. body {
  18. font-family: 'EquityTextB', serif;
  19. }
  20. h1, h2, h3, h4, h5, h6, time, nav a, nav a:link, nav a:visited {
  21. font-family: 'EquityCapsB', sans-serif;
  22. font-variant: normal;
  23. }
  24. </style>
  25. </noscript>
  26. <!-- Canonical URL for SEO purposes -->
  27. <link rel="canonical" href="https://larlet.fr/david/biologeek/archives/20080716-combiner-openid-et-oauth">
  28. </head>
  29. <body>
  30. <div>
  31. <header>
  32. <nav>
  33. <p>
  34. <small>
  35. Je suis <a href="/david/" title="Profil public">David Larlet</a>, <a href="/david/pro/" title="Activité professionnelle">artisan</a> du web qui vous <a href="/david/pro/accompagnement/" title="Activité d’accompagnement">accompagne</a><span class="more-infos"> dans l’acquisition de savoirs pour concevoir des <a href="/david/pro/produits-essentiels/" title="Qu’est-ce qu’un produit essentiel ?">produits essentiels</a></span>. <span class="more-more-infos">Discutons ensemble d’une <a href="/david/pro/devis/" title="En savoir plus">non-demande de devis</a>.</span> Je partage ici mes <a href="/david/blog/" title="Expériences bienveillantes">réflexions</a> et <a href="/david/correspondances/2017/" title="Lettres hebdomadaires">correspondances</a>.
  36. </small>
  37. </p>
  38. </nav>
  39. </header>
  40. <section>
  41. <h1 property="schema:name">Combiner OpenID et OAuth</h1>
  42. <article typeof="schema:BlogPosting">
  43. <div property="schema:articleBody">
  44. <p>Je <a href="http://breno.demedeiros.googlepages.com/openidoauth.html">ne suis pas</a> <a href="http://extremeswank.com/openid_trusted_auth.html">le seul à</a> <a href="http://sites.google.com/site/oauthgoog/Home/extended-association-protocol-for-joint-openidoauth">avoir cette idée</a> 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'<a href="https://larlet.fr/david/biologeek/archives/20080112-ma-killer-app-pour-le-web-semantique/">avancer</a> lorsqu'il manque les fondations.</p>
  45. <p>Au passage, j'ai trouvé une <a href="http://spreadopenid.org/provider-comparison/">comparaison des providers OpenID intéressante</a>.</p>
  46. </div>
  47. </article>
  48. <footer>
  49. <h6 property="schema:datePublished">— 16/07/2008</h6>
  50. </footer>
  51. </section>
  52. <section>
  53. <div>
  54. <h3>Articles peut-être en rapport</h3>
  55. <ul>
  56. <li><a href="/david/biologeek/archives/20080715-inutile-instantaneite-20/" title="Accès à L&#39;inutile instantanéité 2.0">L&#39;inutile instantanéité 2.0</a></li>
  57. <li><a href="/david/biologeek/archives/20080711-lancement-de-mixin/" title="Accès à Lancement de mixin">Lancement de mixin</a></li>
  58. <li><a href="/david/biologeek/archives/20080708-pourquoi-tout-le-monde-parle-didentica/" title="Accès à Pourquoi tout le monde parle d&#39;identi.ca">Pourquoi tout le monde parle d&#39;identi.ca</a></li>
  59. </ul>
  60. </div>
  61. </section>
  62. <section>
  63. <div id="comments">
  64. <h3>Commentaires</h3>
  65. <div class="comment" typeof="schema:UserComments">
  66. <p class="comment-meta">
  67. <span class="comment-author" property="schema:creator">Guillaume S.</span> le <span class="comment-date" property="schema:commentTime">16/07/2008</span> :
  68. </p>
  69. <div class="comment-content" property="schema:commentText">
  70. <p>Pas mal, la comparaison des fournisseurs d&#39;openID... <br />Pour ce qui est de la combinaison d&#39;openID et OAuth, ça reste au delà de ma compréhension.</p>
  71. <p>Rien à voir - de mon côté, j&#39;essaie de comprendre l&#39;interêt de MicroID.</p>
  72. </div>
  73. </div>
  74. <div class="comment" typeof="schema:UserComments">
  75. <p class="comment-meta">
  76. <span class="comment-author" property="schema:creator">David, biologeek</span> le <span class="comment-date" property="schema:commentTime">16/07/2008</span> :
  77. </p>
  78. <div class="comment-content" property="schema:commentText">
  79. <p>Les micro esprits se rencontrent : <a href="https://larlet.fr/david/biologeek/archives/20080716-differences-entre-identification-autorisation-et-authentification/">https://larlet.fr/david/biologeek/archives/20080716-differences-entre-identification-autorisation-et-authentification/</a> ;-)</p>
  80. </div>
  81. </div>
  82. <div class="comment" typeof="schema:UserComments">
  83. <p class="comment-meta">
  84. <span class="comment-author" property="schema:creator">Got</span> le <span class="comment-date" property="schema:commentTime">17/07/2008</span> :
  85. </p>
  86. <div class="comment-content" property="schema:commentText">
  87. <p>Cela pourra peut-être t&#39;intéresser : <a href="http://blogs.sun.com/bblfish/entry/foaf_ssl_creating_a_global">http://blogs.sun.com/bblfish/entry/foaf_ssl_creating_a_global</a> . Si, effectivement, la brique Trust du layer cake (<a href="http://www.w3.org/2007/03/layerCake.png">http://www.w3.org/2007/03/layerCake.png</a>) n&#39;est pas encore à l&#39;étude, je ne vois pas ce qui t&#39;empêche d&#39;ajouter une couche applicative (maintenant, je ne suis ni architecte, ni développeur, alors les tenants et les aboutissants m&#39;échappent peut-être...)</p>
  88. </div>
  89. </div>
  90. <div class="comment" typeof="schema:UserComments">
  91. <p class="comment-meta">
  92. <span class="comment-author" property="schema:creator">David, biologeek</span> le <span class="comment-date" property="schema:commentTime">18/07/2008</span> :
  93. </p>
  94. <div class="comment-content" property="schema:commentText">
  95. <p>@Got : oui j&#39;ai lu avec intérêt les billets d&#39;Henry Story sur le sujet mais ça me semble plus compliqué que ce qui peut être fait avec OAuth.</p>
  96. <p>Concernant la brique Trust, tant qu&#39;elle ne sera pas là les applications &quot;grand public&quot; ne pourront pas être développées... et c&#39;est bien dommage.</p>
  97. </div>
  98. </div>
  99. <div class="comment" typeof="schema:UserComments">
  100. <p class="comment-meta">
  101. <span class="comment-author" property="schema:creator">Damien B</span> le <span class="comment-date" property="schema:commentTime">18/07/2008</span> :
  102. </p>
  103. <div class="comment-content" property="schema:commentText">
  104. <p>&quot;ça me semble plus compliqué que ce qui peut être fait avec OAuth&quot;</p>
  105. <p>Oui, mais ça permet de faire des choses que ne permet pas OAuth : se passer de l&#39;interaction utilisateur sur le Service Provider à chaque nouvelle session du Customer.<br />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&#39;instant on n&#39;a pas vraiment de meilleur modèle qui permet la montée en volume.</p>
  106. <p>&quot;Concernant la brique Trust, tant qu&#39;elle ne sera pas là les applications &#39;grand public&#39; ne pourront pas être développées... et c&#39;est bien dommage.&quot;</p>
  107. <p>Mouais, à quoi sert une application &quot;grand public&quot; si on ne peut pas récupérer les informations qui sont dedans ? Ce n&#39;est pas parce que la brique Trust est manquante qu&#39;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.</p>
  108. </div>
  109. </div>
  110. <div class="comment" typeof="schema:UserComments">
  111. <p class="comment-meta">
  112. <span class="comment-author" property="schema:creator">David, biologeek</span> le <span class="comment-date" property="schema:commentTime">19/07/2008</span> :
  113. </p>
  114. <div class="comment-content" property="schema:commentText">
  115. <p>@Damien B:</p>
  116. <p>&gt; se passer de l&#39;interaction utilisateur sur le Service Provider à chaque nouvelle session du Customer.</p>
  117. <p>Tu peux détailler ? (bon attend j&#39;augmente la taille des commentaires en base avant ;-))<br />Je vois pas où est l&#39;interaction de l&#39;utilisateur &quot;à chaque nouvelle session&quot; avec OAuth, ou alors pour des Customers différents ?</p>
  118. <p>&gt; Mouais, à quoi sert une application &quot;grand public&quot; si on ne peut pas récupérer les informations qui sont dedans ?</p>
  119. <p>L&#39;idée ce n&#39;est pas de bloquer l&#39;accès mais de restreindre en fonction du demandeur, c&#39;est un peu la base. J&#39;expose par exemple pas mal d&#39;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&#39;état actuel.</p>
  120. <p></p>
  121. </div>
  122. </div>
  123. <div class="comment" typeof="schema:UserComments">
  124. <p class="comment-meta">
  125. <span class="comment-author" property="schema:creator">Damien B</span> le <span class="comment-date" property="schema:commentTime">20/07/2008</span> :
  126. </p>
  127. <div class="comment-content" property="schema:commentText">
  128. <p>&gt; &gt; se passer de l&#39;interaction utilisateur sur le Service Provider à chaque nouvelle session du Customer.</p>
  129. <p>&gt; Tu peux détailler ?</p>
  130. <p>A la base la phrase vient d&#39;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&#39;est un peu mal fait :-) Bref, je m&#39;ai trompé.</p>
  131. <p>Effectivement, rien n&#39;est dit sur la longévité de l&#39;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&#39;avoir un nouveau Request token, et hop, on refait le cycle. (hop, quasi sauvé ^^;)</p>
  132. <p>&gt; L&#39;idée ce n&#39;est pas de bloquer l&#39;accès mais de restreindre en fonction du demandeur [...]. J&#39;expose par exemple pas mal d&#39;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&#39;état actuel.</p>
  133. <p>C&#39;est simple pourtant : FOAF + XACL (ou format perso, ça n&#39;est pas partagé de toute façon) + authentification avec login / mdp envoyé aux adresses mail des contacts. Présupposé : l&#39;adresse mail du contact est sécurisée. Inconvénient : authentification centralisé. Mais, authentification et ACL sont disjoints.</p>
  134. <p>Sinon, si c&#39;est un partage par communication entre applications, on a plusieurs problématiques :<br />- authentification<br />- protocole de communication<br />- format d&#39;échange</p>
  135. <p>Et... et... oui : CORBA, Tuxedo/Q, Tibco, RMI, EJB, SUN RPC, SOAP. On est en plein dedans. Je ne mets pas &quot;autorisation&quot; dans les problématiques, parce qu&#39;en fait, c&#39;est un problème strictement interne au fournisseur.<br />Authentification : en système &quot;non-web&quot;, c&#39;est Kerberos qui est sorti vainqueur. Evidemment, ça n&#39;est pas supporté par les serveurs et les navigateurs web, la priorité étant de se tordre la nouille avec HTML5.<br />Format d&#39;échange : REST, OAuth, OpenId, etc... disent : &quot;ce n&#39;est pas notre problème&quot;. SOAP impose XML, ce qui passe souvent par l&#39;utilisation de XLM Schema, vu que c&#39;est ce qui est craché par défaut quand on génère un WSDL, ce à quoi le web répond : &quot;ouin, c&#39;est trop dur, et les namespaces cémal&quot;. HTML5 dit &quot;les grammaires çapue, les namespaces çapue&quot;.<br />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&#39;authentification, à un point tel que la seule solution de refaire de la gestion de jetons à la main (ce que tu appelles orthgonalité 2.0 :) )<br />Bref, ce n&#39;est pas qu&#39;on ne sait pas faire, ou qu&#39;on n&#39;a jamais fait ça sur les 30 dernières années, c&#39;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&#39;instant, c&#39;est l&#39;approche des pra-ma-ti-que qui a la cote : c&#39;est la fête à Mr. Bricolage.</p>
  136. </div>
  137. </div>
  138. </div>
  139. </section>
  140. <footer>
  141. <nav>
  142. <p>
  143. <small>
  144. Je réponds quasiment toujours aux <a href="m&#x61;ilto:d&#x61;vid%40l&#x61;rlet&#46;fr" title="Envoyer un email">emails</a> (<a href="/david/signature/" title="Ma signature actuelle avec possibilité de chiffrement">signés</a>) et vous pouvez me rencontrer à Montréal. <span class="more-infos">N’hésitez pas à <a href="/david/log/" title="Être tenu informé des mises à jour">vous abonner</a> pour être tenu informé des publications récentes.</span>
  145. </small>
  146. </p>
  147. </nav>
  148. </footer>
  149. </div>
  150. <script src="/static/david/js/larlet-david-3ee43f.js" data-no-instant></script>
  151. <script data-no-instant>InstantClick.init()</script>
  152. </body>
  153. </html>