2015-03-05 13 views
5

Używam fosuserbundle do logowania i rejestracji w moim projekcie Symfony 2.6. Teraz chcę zezwolić użytkownikowi na logowanie się za pomocą Facebooka lub konta Google.Zaloguj się za pomocą facebooka lub google przy użyciu biblioteki Oauth2 w symfony2

chcę użyć OAuth2 bibliotekę friendsofsymfony dostaniem stąd https://packagist.org/packages/friendsofsymfony/oauth2-php

Mam zainstalowaną bibliotekę przy użyciu "friendsofsymfony/OAuth2-php": "1.1.*@dev" w composer.phar i zaktualizowanych dostawców. Ale nie jestem w stanie znaleźć dokumentacji, która może pokazywać kroki do skonfigurowania i użycia w logowaniu.

Powinien działać z fosuserbundle. Czy ktoś może zasugerować mi, gdzie mogę uzyskać kroki, w jaki sposób mogę użyć biblioteki Oauth2 w moim projekcie?

Odpowiedz

3

Możesz użyć HWIOAuthBundle, aby włączyć logowanie z Facebooka lub google i wielu innych sieci społecznościowych. Oto tutorial jak skonfigurować ten pakiet w aplikacji: https://gist.github.com/danvbe/4476697

Także jeśli używasz ten pakiet należy sprawdzić moją istotę: https://gist.github.com/antoinemineau/8836621#file-fosubuserprovider-php-L47 dodałem if który zapobiega kod wykonywany jeśli API nie reaguje zgodnie z oczekiwaniami.

+0

Dzięki HWIOAuthBundle działa doskonale! –

0

Oto przykład jak zalogować się za pomocą Facebooka https://github.com/stfalcon-studio/lost-and-found

Wykorzystuje HWIOAuthBundle + FOSUserBundle + zwyczaj dostawcą użytkownik

można łatwo dodać do Google lub innego właściciela zasobu, który jest obecny w HWIOAuthBundle. Ale musisz też przepisać nieco dostawcę użytkownika.

+0

Inny przykład, ale z GitHub OAuth jest tutaj https://github.com/stfalcon-studio/codel –

0

Ta odpowiedź jest poprawna: https://stackoverflow.com/a/28879098/2400373

Kiedyś to podręcznik dla integracji: https://gist.github.com/danvbe/4476697

Ale jest necesary dwie zmiany dla Symfony3. pierwsze:

W kodzie pliku: services.yml na Symfony3 jest inna lokalizacja, prawidłowa lokalizacja to: //app/config/services.yml i zmienić linię:

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

na to:

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

Druga zmiana znajduje się w pliku: //app/config/routing.yml

zmienić tę linię:

pattern: /login/check-facebook 

na to:

path: /login/facebook 
Powiązane problemy