OpenID: diferència entre les revisions

Contingut suprimit Contingut afegit
m Robot afegeix: id:OpenID
m Robot: Reemplaçament automàtic de text (->http:// +>{{format ref}} http://)
Línia 30:
Si, per exemple, la Griselda vol accedir a <code>exemple.cat</code> fent servir l'identificador OpenID, <code><nowiki>griselda.proveïdor-openid.org</nowiki></code> que ella ha registrat prèviament al proveïdor d'identitat <code>proveïdor-openid.org</code>, simplement va a <code>exemple.cat</code> i tecleja <code>griselda.proveïdor-openid.org</code> a la caixa d'identificació d'OpenID. A partir de la versió 2.0 de l'autenticació OpenID (i en algunes de les implementacions d'OpenID 1.1), la Griselda també pot identificar-se escrivint un [[i-nom]] com ara <code>=exemple.griselda</code> o <code>=exemple.comunitat*griselda</code>.
 
Si l'identificador és un URL, la primera cosa que ha de realitzar la part (<code> exemple.cat</code>) és transformar-la en una forma canònica del tipus <code><nowiki>{{format ref}} http://griselda.proveidor-openid.org</nowiki></code>. Amb OpenID 1.0, la part confident sol·licita aleshores la pàgina web situada a l'esmentat URL i, mitjançant una etiqueta HTML d'enllaç, descobreix que el servidor del proveïdor és, suposem, <code><nowiki>{{format ref}} http://proveidor-openid.org/openid.auth.php</nowiki></code>. També descobreix si cal que utilitzi o no una ''identitat delegada'' (vegeu més avall). A partir d'OpenID 1.1, el client arribar a conèixer aquestes dades sol·licitant el ''document XRDS'' (anomenat també ''document Yadis'') amb el tipus de contingut <code>application/xrds+xml</code>, que pot estar disponible a l'URL esmentat i que sempre estarà disponible a través d'una [[XRI]].
 
Hi ha dues maneres a través de les quals la part confident pot comunicar-se amb el proveïdor d'identitat:
Línia 42:
En primer lloc, la part confident i el proveïdor (opcionalment) estableixen un [[secret compartit]] que la part confient s'encarrega d'emmagatzemar. Si es fa servir <code>checkid_setup</code>, la part confident redirigeix el navegador web de l'usuari cap al proveïdor. A l'exemple, el navegador de la Griselda seria redireccionat a <code>proveidor-openid.org</code> de manera que la Griselda es pogués autenticar contra el proveïdor.
 
El mètode d'autenticació pot variar, però normalment un proveïdor d'OpenID demana una contrasenya (i aleshores possiblement emmagatzema la sessió de l'usuari fent servir galetes, tal i com fan molts llocs amb autenticació basa en contrasenya). En el cas que la Griselda no tingués una sessió activa al <code>proveidor-openid.org</code>, aquest li sol·licitaria la seva contrasenya. Un cop tingués la sessió oberta, el servidor li preguntaria sobre la confiança que li ofereix <code>{{format ref}} http://exemple.cat/openid-retorn.php</code> (la pàgina designada per <code>exemple.cat</code> com a destí al qual l'usuari hauria de tornar després d'haver completat l'autenticació per rebre-hi els detalls de la seva identitat). Si la Griselda respon positivament, l'autenticació OpenID es considera reeixida i el navegador és redireccionat a la pàgina de retorn indicada amb les credencials atorgades. Si la Griselda decideix no refiar-se del lloc de la part confident, el navegador també serà redireccionat, però es notificarà el rebuig a la part confident, de manera que <code>exemple.cat</code> com a contrapartida es negarà a autenticar la Griselda.
 
No obstant això, el procés de connexió encara no ha acabat perquè en aquesta etapa, <code>exemple.cat</code> no pot decidir si les credencials rebudes realment van ser rebudes des de <code>proveidor-openid.org</code>. Si ells havien establert prèviament un [[secret compartit]], la part confident pot validar el secret compartit rebut amb les credencials que tingués desades prèviament. Cada part confident és anomenada en condicions perquè des el secret compartit entre sessions mentre que una part confident sense condicions o muda haurà de fer una petició més a fons (<code>check_authentication</code>) per assegurar-se que les dades van venir de veritat de <code>proveidor-openid.org</code>.