Google/Facebook'i ühendamine

Loetud 66 kasutaja poolt

30Seconds 2013-05-05T20:27:17+03:00
Nagu aru saan, siis on nende kahe konto loomine seotud emailiga, kui email kattub suhtlusvõrgustikes olevate emailidega, siis on vist kõik korras. Probleem aga tekib siis, kui vint.ee kasutaja email on erinev suhtlusvõrgustikes olevatega, samas mingit tagasisidet ei anta! Tundub, et süsteem saab nt facebookilt vastuse, kuid mis selle infoga edasi tehakse, see jääb segaseks, luuakse uus kasutajaobjekt? Igatahes see ei õnnestu ja midagi ei toimu. Välja logides proovisin selle erineva emailiga kontoga sisse logida, kuid saan vastuseks, et teie konto on blokeeritud (tegelikult ongi).

Ma ei tea kuidas on tehniliselt asi lahendatud, kuid isiklikult teeksin One-To-Many-Relationshipi nt klasside User(id, username, email, etc) ja Connection(id, provider_id, provider_name, user_id(foreign.key(user.id)) vahel.

Nt user klassi seos:
class User:
connections = relationship("Connection", backref="user")

mis võimaldab vastavusse seada hunniku neid "Connection" objekte ühele konkreetsele kasutajale.

Üks võimalus oleks nt siis teha päring, mis kontrollib hashitud provider_id'sid (dunno, on seda vaja hashida??)
kui provider_id on olemas, siis on kõik OK.

Muul juhul tuleb luua uus objekt, mille seome kasutajaga.
See siis sisselogitud kasutaja puhul, siis on kasutajaobjekt olemas ja selle saamiseks probleeme ei teki.

Kui kasutaja ei ole sisselogitud ja ME EI TAHA OBJEKTI EMAILI abil, siis tuleks vist küsida mingi suvalise vormi abil kasutajanime ja parooli, et sinna uus facebooki või google ühendus vastavusse panna.

Miks ei ole ilus google_provider_id ja facebook_provider_id'd panna kuskile tabelisse otse kirjena, mitte seosena, siis tekib see jama, et me määrame selle ära ja see oleks pmst fixed, uue konto lisamisel kirjutaksime vana üle lihtsalt.

Ilmselt on email kirjena Unique, mis on ka loogiline. Sellest ka hetke probleem.

PS: Ma ei ole veel täpselt uurinud, kuidas nende provideritega on, et kas nad tahavadki konkreetset emaili, et need kõik oleksid omavahel seotud, või sobib minu kirjeldatud lahendus.

PPS: mu mõtted võivad olla vigased, eelneva põhjal siis :)

30Seconds 2013-05-06T06:54:41+03:00
Täpsustuseks:

Sidusin Google- ja Facebooki konto enda profiilist, peale seda proovisin sisselogida nende kahe kontoga, mõlemal juhul on mu konto blokeeritud.
MeikopVint.ee asutaja 2013-05-06T10:44:24+03:00
[i]postitas 30Seconds[/i]
Probleem aga tekib siis, kui vint.ee kasutaja email on erinev suhtlusvõrgustikes olevatega, samas mingit tagasisidet ei anta! Tundub, et süsteem saab nt facebookilt vastuse, kuid mis selle infoga edasi tehakse, see jääb segaseks, luuakse uus kasutajaobjekt?


Tegelikult on asi lihtne:
1) Sul on vindis kasutajanimi x, mille sa lõid kunagi ja sisestasid emailiks mrx@email.ee

2) Sul on facebook/google konto, kus sa kasutad emaili mry@email.ee

3) Sa logid vinti kasutajaga X, lähed muuda andmed lehele ja vajutad "seo oma konto...". Selle peale saadab facebok/Google su e-maili (mry@email.ee). Me uuendame kasutajal X emaili ära (mry@email.ee) ja kui sa järgmine kord logid vinti google/facebook kaudu, logitakse sind kasutajana X sisse.

Konflikt võib tekkida siis kui sul oli juba eelnevalt vindis teine konto e-mailiga mry@email.ee. Sellist konflikti saame ainult käsitsi andmebaasis lahendada. Pane mulle postkasti, millise FB / Google emailiga millist vindi kontot kasutada soovid.
30Seconds 2013-05-06T14:40:49+03:00
Postgressql's vist (ei mäleta enam) sai panna mingi "labeli" nendele väljadele, mida kasutada ei taheta, samas jääksid need kirjed andmebaasi alles.

Nagu aru saan, siis selle Ühendamise käigus uuendati mu vanat kontot, mis on suletud?

Siis veel see, et miks uut kasutajat ei saa teha vana emailiga, kui vana kasutaja on suletud?

Vabandan trollimise pärast :D :D, kuna teen ise midagi sarnast, siis on vbl hea teatuid vigu vältida
MeikopVint.ee asutaja 2013-05-06T17:27:42+03:00
[i]postitas 30Seconds[/i]
Siis veel see, et miks uut kasutajat ei saa teha vana emailiga, kui vana kasutaja on suletud?


Sest kui vana kasutaja on suletud pättuste pärast, pole vaja inimesele elu lihtsaks teha ja lubada sama e-mailiga uus konto avada.

Mida sa ehitad? Äkki ühendame jõud :)? Vint.ee omanike/arendajate seltskond on niigi kokku kuivanud.
30Seconds 2013-05-06T18:04:43+03:00
Kirjutan ka veebi ja seda
kasutades Pythoni raamistikku: http://flask.pocoo.org/

Pmst mai ja juuni on üsna kiired ajad nii kooli kui ka tööga seoses, kuid peale seda võiks jõud ühendada küll.

Selle kuu lõpuks peaks veebileht minema laivi ka, hetkel ka tegelikult testkeskkonnas üleval, kuid vist ei ole luba seda veel jagada, vähemalt avalikult, privaatselt võin pilte saata lehest ja selle disainist (kavandi järgi tehtud) kui peaks huvi olema.

Lisa vastus

See funktsionaalsus on ainult verifitseeritud või VIP kasutajatele