私のWebサイトでは、ユーザーは単純なアカウント(Webサイトで作成され、ユーザーを電子メールで選択するMY_OWN_USERプロバイダーを構成)またはFacebookログイン(fosfacebookバンドルを介して統合)を使用してログインできます。
ユーザーになりすまそうとしているとき(Symfony2のドキュメントで説明されているようにリンク'...?_ switch_user = demo@demo.com'を追加)Symfony2はそのような警告をログに記録します:
security.WARNING:ユーザーの切り替えに失敗しました:「ユーザーはFacebookで認証されていません」
Symfony \ Component \ Security \ Http \ Firewall \ SwitchUserListenerを確認しましたが、デフォルトではMY_OWN_USERプロバイダーではなく、facebook_idでユーザーを選択しようとするfosfacebookプロバイダーを取得しているようです(「...?_ switch_user=FACEBOOK_ID」でリンクを追加した場合-スイッチユーザーは正しく機能します!)
では、そのSwitchUserListenerを作成して、FacebookIDではなく電子メールでユーザーを選択するMY_OWN_USERプロバイダーを取得するにはどうすればよいでしょうか。