この質問に基づく:自動登録後のユーザー認証
$token = new UsernamePasswordToken($userEntity, null, 'main', array('ROLE_USER'));
$this->get('security.context')->setToken($token);
これは Symfony 2 では問題なく機能しましたが、Symfony 2.1 の実際のリリースでは、この継ぎ目が機能しなくなりました。同じコードを試してみましたが、成功しませんでした (エラーもありませんでした)。アイデアは、ログインフォームを使用せずに ajax でユーザーを認証することです。これは、私がこのスキーマを使用しているためです:
if(user_on_data_base) {
if(user_fb_linked_with_us) { // authenticate him and redirect to /home }
}
これは ajax で実行されます。
編集:最も奇妙なことは、このコードをユーザーコントローラーから実行すると機能することです! しかし、私のajaxコントローラーから実行することはできません。