<divclass="notewarning">Le protocole OpenID est obsolète, il faut maintenant utiliser <ahref="idpopenidconnect.html"class="wikilink1"title="documentation:2.0:idpopenidconnect">OpenID-Connect</a>.
<abbrtitle="LemonLDAP::NG">LL::NG</abbr> can act as an OpenID 2.0 Server, that can allow one to federate <abbrtitle="LemonLDAP::NG">LL::NG</abbr> with:
<liclass="level1"><divclass="li"> Un autre système <abbrtitle="LemonLDAP::NG">LL::NG</abbr> configuré avec <ahref="authopenid.html"class="wikilink1"title="documentation:2.0:authopenid">authentification OpenID</a></div>
</li>
<liclass="level1"><divclass="li"> N'importe quel client OpenID</div>
</li>
</ul>
<p>
<abbrtitle="LemonLDAP::NG">LL::NG</abbr> est compatible avec le protocole d'authentification OpenID <ahref="http://openid.net/specs/openid-authentication-2_0.html"class="urlextern"title="http://openid.net/specs/openid-authentication-2_0.html"rel="nofollow">version 2.0</a> et <ahref="http://openid.net/specs/openid-authentication-1_1.html"class="urlextern"title="http://openid.net/specs/openid-authentication-1_1.html"rel="nofollow">version 1.0</a>. Ce peut être utilisé pour partager l'authentification et pour partager les attributs utilisateurs en suivant les spécifications <ahref="http://openid.net/specs/openid-simple-registration-extension-1_0.html"class="urlextern"title="http://openid.net/specs/openid-simple-registration-extension-1_0.html"rel="nofollow">OpenID Simple Registration Extension 1.0 (SREG)</a>.
</p>
<p>
Lorsque <abbrtitle="LemonLDAP::NG">LL::NG</abbr> est configuré en fournisseur d'identité OpenID, les utilisateurs peuvent partager leur authentification en utilisant [PORTAIL]/openidserver/[login] où :
</p>
<ul>
<liclass="level1"><divclass="li"> [PORTAIL] est l'<abbrtitle="Uniform Resource Locator">URL</abbr> du portail</div>
</li>
<liclass="level1"><divclass="li"> [login] est le nom de connexion (ou tout autre information de session, <spanclass="curid"><ahref="idpopenid.html#configuration"class="wikilink1"title="documentation:2.0:idpopenid">voir ci-dessous</a></span>)</div>
Dans le manager, aller dans <code>Paramètres généraux</code>><code>Modules fournisseurs</code> » <code>OpenID</code> et configurer :
</p>
<ul>
<liclass="level1"><divclass="li"><strong>Activation</strong> : mettre à <code>Activé</code>.</div>
</li>
<liclass="level1"><divclass="li"><strong>Chemin</strong> : laisser <code>^/openidserver/</code> sauf si le fichier de <ahref="configlocation.html#portal"class="wikilink1"title="documentation:2.0:configlocation">configuration Apache du portail</a> a été modifiée.</div>
</li>
<liclass="level1"><divclass="li"><strong>Règle d'utilisation</strong> : une règle pour autoriser l'usage de ce module, mettre 1 pour toujours l'autoriser.</div>
</li>
</ul>
<divclass="notetip">Par exemple, pour n'autoriser que les utilisateurs authentifiés fortement :
</div><divclass="noteimportant">Le module Rewrite d'Apache doit être activé dans la <ahref="configlocation.html#portal"class="wikilink1"title="documentation:2.0:configlocation">configuration Apache du portail</a> ou dans la <ahref="configlocation.html#portal1"class="wikilink1"title="documentation:2.0:configlocation">configuration du portail Nginx</a>.
</div>
<p>
Aller ensuite dans <code>Options</code> pour définir :
</p>
<ul>
<liclass="level1"><divclass="li"><strong>Jeton secret</strong> : le jeton secret utilisé pour sécuriser les transmissions entre le client et le server OpenID (<spanclass="curid"><ahref="idpopenid.html#security"class="wikilink1"title="documentation:2.0:idpopenid">voir ci-dessous</a></span>).</div>
</li>
<liclass="level1"><divclass="li"><strong>Identificant OpenID</strong> : la clef de session utilisée pour correspondre au login OpenID.</div>
</li>
<liclass="level1"><divclass="li"><strong>Domaines autorisés</strong> : liste blanche ou noire des domaines clients OpenID (<spanclass="curid"><ahref="idpopenid.html#security"class="wikilink1"title="documentation:2.0:idpopenid">voir ci-dessous</a></span>).</div>
</li>
<liclass="level1"><divclass="li"><strong>Associations SREG</strong> : liens entre les attributs SREG et les clefs de session (<spanclass="curid"><ahref="idpopenid.html#shared_attributes_sreg"class="wikilink1"title="documentation:2.0:idpopenid">voir ci-dessous</a></span>).</div>
</li>
</ul>
<divclass="notetip">Si l'<code>identifiant OpenID</code> n'est pas renseigné, la donnée <code>Paramètres généraux</code> » <code>Journalisation</code> » <code>REMOTE_USER</code> est utilisée, mise à <code>uid</code> par défaut
<ahref="http://openid.net/specs/openid-simple-registration-extension-1_0.html"class="urlextern"title="http://openid.net/specs/openid-simple-registration-extension-1_0.html"rel="nofollow">SREG</a> permet le partage de 8 attributs :
</p>
<ul>
<liclass="level1"><divclass="li"> Nick name</div>
</li>
<liclass="level1"><divclass="li"> Email</div>
</li>
<liclass="level1"><divclass="li"> Nom complet</div>
</li>
<liclass="level1"><divclass="li"> Date of birth</div>
</li>
<liclass="level1"><divclass="li"> Gender</div>
</li>
<liclass="level1"><divclass="li"> Postal code</div>
</li>
<liclass="level1"><divclass="li"> Country</div>
</li>
<liclass="level1"><divclass="li"> Langue</div>
</li>
<liclass="level1"><divclass="li"> Timezone</div>
</li>
</ul>
<p>
Chaque attribut SREG est associé à une clef de session utilisateur. Une clef de session peut être associée à un ou plusieurs attributs SREG.
</p>
<divclass="noteclassic">Si le client OpenID demande des données utilisateurs, ceux-ci sont questionnés pour accepter ou non le partage.
<liclass="level1"><divclass="li"><abbrtitle="LemonLDAP::NG">LL::NG</abbr> peut être configuré pour restreindre les échanges OpenID en utilisant les listes blanches ou noires de domaines.</div>
</li>
<liclass="level1"><divclass="li"> S'il n'est pas renseigné, le jeton secret est calculé en utilisant la clef de chiffrement générale.</div>
</li>
</ul>
<divclass="noteimportant">Noter que le protocole <ahref="idpsaml.html"class="wikilink1"title="documentation:2.0:idpsaml">SAML</a> est plus securisé que OpenID, ainsi si les partenaires sont connus, preférer <ahref="idpsaml.html"class="wikilink1"title="documentation:2.0:idpsaml">SAML</a>.