最後,我已經解決了這個問題。
是的,FosFacebookBundle將爲應用程序創建用戶會話。我們無需編寫身份驗證提供程序(但我們應該有Facebook提供程序對其進行身份驗證,如FosFacebookBundle基本使用文檔中所述)。
我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會話。我們可以在開發過程中使用此網址。
我調用了login_check而不是/ facebook/login_check。所以用戶會話沒有在我的應用程序中設置。現在它工作正常。