Sorry, we don't support Internet Explorer 6 or lower. Please update.

Do you have a cool idea for an online project, but don't have the time or the know-how to make it happen? That's OK, we have the time and the skills to make it work for you. Our approach to work in a nutshell: efficient forward thinking.

Autentificare prin Yahoo! sau Google – premiera in .ro; de ce? cum?

Posted by Andrei on June 26, 2008

Suntem primii .ro-mani care deleaga autentificarea userilor la Google sau Yahoo!. Cool!
(curajul de a face asta ne-a fost inspirat de zoho.com)

Asa arata panoul nostru de autentificare & creare cont:

Care sunt motivele pentru a vrea sa delegi autentificarea?

  • autentificarea este simpla pentru utilizatori. Suntem convinsi ca oricine isi aduce mai usor aminte parola de la contul lui de mail decat parola de pe cel al 100-lea site la care s-a inscris la un moment dat :) . In practica nu mai vezi ecranul cu ‘ai introdus gresit parola, mai incearca’
    Autentificarea dureaza ~ intre 2 si 7 secunde (depinde daca iti merge netul rezonabil :) si daca esti deja logat sau nu pe site-ul care realizeaza autentificarea)

    • crearea contului este mai simpla, dat fiind ca lipseste partea cu parola, verificarea parolei, etc. Pe lista.lu, de exemplu, crearea unui cont dureaza intre 10 si 30 de secunde, iar autentificarea cam 5 secunde
  • este mai simplu pentru noi – pentru ca o gramada de functionalitate se muta la cel la care delegam: crearea contului (cu verificarea “umanitatii” utilizatorului), autentificarea, recuperarea parolei, etc. Asta inseamna ca putem dedica mai mult timp functionalitatilor lista.lu :)

Care sunt posibilitatile pentru a delega?

  1. OpenID (site-uri care ofera autentificare – provideri)
  2. pe masura ce va fi adoptat, standardul OAuth
  3. Google si Yahoo! au implementari proprii (Google – AuthSub, Yahoo! – Browser Based Authentication - BBAuth) pentru autorizarea aplicatiilor third-party pentru a avea acces la datele utilizatorilor lor. Aceste implementari pot fi folosite si doar pentru autentificarea utilizatorului

Cum functioneaza delegarea?

La toate sistemele, exista 3 parti in ‘tranzactia’ de autentificare/autorizare:

  • utilizatorul
  • aplicatia care realizeaza autentificarea (site-ul provider de OpenID, Google/Yahoo!) (= provider)
  • aplicatia care are nevoie de autentificare (= aplicatie)

Iar lucrurile decurg in felul urmator:

  • utilizatorul intra pe aplicatie si vrea sa se autentifice
  • este redirectat la provider (paraseste site-ul aplicatie si ajunge pe site-ul provider; in cererea la provider se trimite si un string secret care este stiut doar de aplicatie)
  • la provider se realizeaza autentificarea (utilizatorul introduce username si parola)
  • dupa care providerul redirecteaza browserul catre aplicatie, impreuna cu un secret care certifica faptul ca useru este autentificat, si cu datele despre utilizator care au fost cerute – atentie, nu se trimite niciodata parola utilizatorului

In poza de mai jos (de la Yahoo!), avem in stanga aplicatia, in partea dreapta providerul, iar utilizatorul este cel care da clickurile si se autentifica, dupa care poate folosi aplicatia :) .

Care este “acoperirea” acestor sisteme?

OpenID incepe sa fie din ce in ce mai familiar utilizatorilor, deoarece platformele de blogging au introdus de multa vreme posibilitatea ca atunci cand comentezi sa te autentifici cu OpenID.
De curand cei de la idselector.com au realizat o interfata frumoasa, customizabila si foarte usor de folosit (pe care o ofera gratis site-urilor care vor sa foloseasca OpenID, pentru a usura folosirea OpenID-ului si a-l face mainstream).

Sistemele de autentificare si autorizare de la Yahoo! si Google sunt folosite, in peisajul international, de mai multe aplicatii (ex: zoho.com) care, odata cu autentificarea, cer si acces la unele din datele utilizatorului (de ex, o aplicatie de tiparit fotografii care are nevoie sa aiba acces la fotografiile pe care vrea respectivul sa le tipareasca).

Din punctul de vedere al dezvoltatorilor, pentru OpenID exista componente open-source, in diverse limbaje, care usureaza implementarea standardului. Pentru Yahoo! si Google exista niste proiecte open-source care inca nu au ajuns la maturitate (ok, si implementarea noastra :D ).

De ce nu folosim OpenID pentru lista.lu?

Ei bine, la inceput l-am folosit – dupa care ne-a venit ideea sa facem un bot pe messenger prin care sa iti poti adauga chestii foarte usor la liste – moment in care a devenit mult mai logic sa implementam autentificarea cu Google si Yahoo!, pentru ca astfel o data cu autentificarea primim si care este identificatorul userului (deci stim “cum il cheama” pe Yahoo! Messenger / Google Talk).

Urmatorul pas a fost sa discutam cu Google/Yahoo! (mersi Cristi pentru idee!) ca sa vedem cum putem sa minimizam datele la care teoretic noi am avea acces de la utilizatori (pentru ca nu luam decat numele & adresa de mail). Cu Google am avut rezultate foarte bune, pentru ca ne-au sugerat ca in loc sa cerem lista de contacte, sa cerem lista de <grupuri de contacte> – ceea ce by default este lista care contine 2 elemente: “all contacts” si “most contacted” (si nu contine nume/email de la contacte). Aici e discutia cu Yahoo!.

Ce feedback am primit

Utilizatorii pe care i-am avut in private beta s-au impartit in 2 – cei foarte incantati (“e super usor sa te loghezi”) si cei foarte sceptici (“de unde stiu ca nu-mi furati parola”).
Ne vom stradui in continuare sa explicam mai clar ca nu avem cum sa furam parola (pentru ca nu ajunge niciodata la noi) si luam in considerare ideea de a implementa un mecanism user/pass clasic pentru cei care vor neaparat sa apese pe ‘recuperare parola’ din cand in cand :)

Daca vreti sa vedeti exact cum functioneaza va invitam sa intrati pe lista.lu!

irina

6 Responses to “Autentificare prin Yahoo! sau Google – premiera in .ro; de ce? cum?”

  1. [...] ulterioara/ marketizare. Web-developerii pe care i-am contactat au fost extrem de incantati de autentificare si au vrut format de wiki pentru editat liste (no way, dudes :p). Multi ne-au intrebat daca asta e [...]

  2. [...] article by Irina here (RO only though). Also, their Yahoo Messenger / Google Chat bot simply [...]

  3. [...] autentificarea – faptul ca te poti autentifica cu contul tau existent de Google sau Yahoo! este super tare – mai ales pentru aceia dintre noi care isi uita frecvent parolele de la site-urile pe care nu le folosesc in fiecare zi (detalii) [...]

  4. [...] Ideea care stă în spatele oka este delegarea autentificării către Google şi Yahoo!, niste autorităţi de încredere, astfel încat utilizatorul să nu mai fie nevoit să îşi aducă aminte un alt nume de utilizator şi o altă parolă; tot ce trebuie să facă este să urmeze un link spre autentificare. Metoda este o alternativă la OpenID, un standard pentru delegarea autentificării. Am scris mai multe despre delegarea autentificarii aici. [...]

  5. necenzurat says:

    ba… e o chestie misto… da pana o sa faca programatorii nostrii romani asa ceva… mai dureaza :)
    suntem prea lenesi :P

  6. [...] mai sunt doua butonele pentru autentificare – ati ghicit – cu contul de Google si Yahoo – asa cum ne dadeam mari acum cateva luni ca am lansat in premiera in .ro la [...]

Leave a Reply