2015-03-05 9 views
5

Sto usando fosuserbundle per il login e la registrazione nel mio progetto symfony 2.6. Ora voglio consentire all'utente di accedere tramite Facebook o account Google.Accedi con facebook o google utilizzando la libreria Oauth2 in symfony2

voglio usare OAuth2 libreria di friendsofsymfony ottenere da qui https://packagist.org/packages/friendsofsymfony/oauth2-php

Ho installato libreria utilizzando "friendsofsymfony/OAuth2-php": "1.1.*@dev" in composer.phar e fornitori aggiornati. Ma non sono in grado di trovare la documentazione che può mostrare i passaggi per configurare e utilizzare nel login.

Dovrebbe funzionare con fosuserbundle. Qualcuno può suggerirmi dove posso ottenere dei passaggi come posso usare la libreria Oauth2 nel mio progetto?

risposta

3

È possibile utilizzare HWIOAuthBundle per abilitare l'accesso con Facebook o Google e molti altri social network. Ecco un tutorial su come installare questo pacchetto nella vostra applicazione: https://gist.github.com/danvbe/4476697

Anche se si utilizza questo pacchetto si dovrebbe controllare il mio succo: https://gist.github.com/antoinemineau/8836621#file-fosubuserprovider-php-L47, ho aggiunto un'istruzione if che impedisce il codice da eseguire se l'API sono non risponde come previsto.

+0

Grazie HWIOAuthBundle perfettamente funzionante! –

0

Ecco ad esempio come accedere via Facebook https://github.com/stfalcon-studio/lost-and-found

Esso utilizza HWIOAuthBundle + FOSUserBundle + abitudine fornitore utenti

Si può facilmente aggiungere Google o qualsiasi altro proprietario di risorse che è presente in HWIOAuthBundle. Ma poi hai anche bisogno di riscrivere un po 'il provider utente.

+0

Un altro esempio, ma con GitHub OAuth è https://github.com/stfalcon-studio/codedill –

0

Questa risposta è corretta: https://stackoverflow.com/a/28879098/2400373

Ho usato questo manuale per l'integrazione: https://gist.github.com/danvbe/4476697

Ma è necesary due cambiamenti per Symfony3. Primo:

Nel codice di lima: services.yml su Symfony3 è un'altra posizione, la posizione corretta è: //app/config/services.yml e cambiare questa linea:

arguments: [@fos_user.user_manager,{facebook: facebook_id, google: google_id}] 

per questo:

arguments: ['@fos_user.user_manager',{facebook: facebook_id, google: google_id}] 

Secondo cambio è nel file: //app/config/routing.yml

modificare questa riga:

pattern: /login/check-facebook 

per questo:

path: /login/facebook 
Problemi correlati