Будет ли FOSFacebookBundle создавать сеанс приложений (пользователей) в symfony2?
Я использую интеграцию Facebook для одного из моих приложений Symfony2. Я использовал FOSUserBundle и FOSFacebookUserBundle.
Я могу войти через форму в моем приложении, и пользовательский сеанс был создан. То же самое, когда я использую FB для входа в мою сессию FB приложения. Здесь я хочу создать сеанс пользователя так же, как мы делаем это через form_login.
Будет ли FOSFacebookBundle предоставлять какую-либо аутентификацию или нам нужно написать отдельного провайдера аутентификации для той же?
Я сделал все настройки, что указано в FOsUserBUndle и FOSFacebookBundle.
Может ли кто-нибудь помочь мне в этом?
1 ответ
Наконец-то я исправил проблему.
Да, FosFacebookBundle создаст пользовательскую сессию для приложения.
Нам не нужно писать провайдера аутентификации (но у нас должен быть провайдер Facebook для аутентификации на нем. Как указано в документе об использовании FosFacebookBundle).
моя конфигурация firewall security.yml:
firewalls:
main:
pattern: ^/
anonymous: true
form_login:
login_path: /
check_path: _security_check
failure_path: login_failure
success_handler: Projectfolder.authentication.success_handler
fos_facebook:
login_path: /
check_path: _security_check_facebook
provider: fos_facebook_provider
default_target_path: /
logout:
path: /logout
target: /
Мой routing.yml:
_security_check_facebook:
pattern: /facebook/login_check
defaults: { _controller: ProjectfolderUserBundle:Security:loginFb }
_security_facebook_logout:
pattern: /facebook/logout
Примечание: _security_facebook_logout, мы не будем использовать в нашем приложении. При выходе мы удалим только пользовательскую сессию приложения, а не сессию Facebook. Мы можем использовать этот URL во время разработки.
Я назвал login_check вместо / facebook / login_check. Таким образом, сеанс пользователя не установлен в моем приложении. Теперь работает нормально.