2012-05-03 5 views
9

Sommario della domanda:
Vorrei creare un sistema di registrazione e accesso basato su CakePHP che offra diversi gateway diversi come OpenID, Facebook, Twitter e così via. Vorrei che il sistema consentisse a un utente di associare più forme di identificazione al proprio account.Integrare in modo semplice l'accesso da Facebook, Google, Twitter, ecc. Su CakePHP?

Dopo molte ricerche, sto svuotando uno spazio su qualsiasi cosa che consenta più di un metodo di autorizzazione. Il sistema di autorizzazione di Cake complica la questione, quindi usare un tutorial per PHP generico non è molto efficace. Qualcuno ha una soluzione o da cui posso partire?

Esempio:
Per fare un esempio semplice, guardando la rete StackExchange: è possibile accedere/registrarsi utilizzando un account di scambio pila, Google, Yahoo, Facebook, o OpenID. Una volta effettuato l'accesso, puoi aggiungere altri di questi metodi al tuo account in modo da riconoscerti in moltissimi modi. Mi rendo conto che StackExchange probabilmente non è scritto in Cake, ma serve come esempio.

Grazie!



domanda iniziale

Ecco lo scoop: mi piacerebbe integrare un semplice sistema di registrazione/login per ciascuno dei principali servizi che offrono OAuth/OpenID in CakePHP.

Fondamentalmente, vorrei che i miei utenti potessero registrare il vecchio modo (compresa la convalida e-mail) o utilizzare un servizio esistente per verificare se stessi. Mi piacerebbe che fossero in grado di accedere in seguito utilizzando quel servizio, o con un nome utente e una password.

Ora, ho trovato plugin estremamente approfonditi per l'integrazione completa di Facebook e simili, ma la linea di fondo è che voglio solo usarlo per la registrazione e il login a questo punto, e vorrei che l'esperienza fosse il lo stesso indipendentemente dal servizio che scelgono (in più, mi piacerebbe capire come funziona ... perché tutto questo riguarda l'apprendimento di CakePHP dopo tutto).

Mi piacerebbe anche che siano in grado di collegare altri servizi una volta creato l'account, se lo desiderano. In un guscio di noce, l'account deve essere in grado di essere collegato a un numero qualsiasi di servizi di accesso o nessuno.

Come diavolo faccio a questo?

Grazie,

James

+0

Ho aggiunto un esempio ... ironicamente ho faticato a pensarne uno per l'ultimo giorno, controllando regolarmente il sito. Il più lontano che ho ottenuto finora sono alcuni vecchi tutorial di Facebook che non sembrano corrispondere al nuovo grafico o torta, quindi qualsiasi altro materiale attuale sarebbe un ottimo inizio. – xtraorange

risposta

2

Sembra che v'è ora una libreria di terze parti disponibili tramite Opauth più dettagliato su this bakery thread

Ecco la pagina GitHub della versione CakePHP:

https://github.com/uzyn/cakephp-opauth

+1

Vorrei sottolineare che al momento di scrivere opauth è scritto male, implementa impostazioni predefinite non sicure e non ispira fiducia da una serie di prospettive. – markus

+0

Non sono l'autore di Opauth, ma puoi approfondire il tuo commento fornendo esempi specifici? – AngeloS

+0

Guardalo e guarda i problemi, è ovvio. Un esempio è ssl verify peer = false. – markus

2

Grande questione - il nostro studio di sviluppo CakePHP può essere alla ricerca a questo nei prossimi mesi anche. Ho il sospetto che avrai più fortuna nella ricerca di questo come una domanda generale PHP e quindi come puoi portare quella soluzione in Cake. Sicuramente postare con tutto ciò che scopri.

Si può trovare questa discussione un punto di partenza utile, anche se è stato pubblicato nel 2010: