最後に、問題を修正しました。
はい、FosFacebookBundle はアプリケーションのユーザー セッションを作成します。
認証プロバイダーを記述する必要はありません (ただし、FosFacebookBundle の基本的な使用方法に関するドキュメントに示されているように、Facebook プロバイダーで認証する必要があります)。
私の 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 を使用できます。
/facebook/login_check の代わりに login_check を呼び出しました。そのため、アプリケーションでユーザー セッションが設定されていません。今では正常に動作しています。