HWIOAuthBundle FOSUserBundle的集成与Facebook和Google登录选项(Symfony 3.1)一起运行良好 . 如果用户输入有效的用户名和密码,那么不用担心,一切顺利 . 但是,当凭据不正确时(对于具有本地用户数据的FOSUserBundle), errors are not bubbling! :(

来自FOSUserBundle的错误消息通常应该存储在 error 变量中,但是当我在twig中尝试 dump(error) 时,没有为此变量设置值 . 我希望HWIOAuthBundle不会干扰来自FOSUserBundle的错误变量 . 有谁知道如何解决这一问题?

我的观点存储如下:

[app]
    [Resources]
        [FOSUserBundle]
            [view]
                [Security]
                    login.html.twig
                    login_content.html.twig

        [HWIOAuthBundle]
            [view]
                [Connect]
                    login.html.twig

Update: 问题解决了

在检查代码之后,我发现我使用的Hwi控制器覆盖了下面的代码块,它负责将 $error 变量重置为 null .

/**
 * @author Alexander <iam.asm89@gmail.com>
 */
class ConnectController extends Controller {
    public function connectAction(Request $request) {

        ....            
        /* FOLLOWING BLOCK WAS CREATING PROBLEM */
        /*
        if ($request->attributes->has($authErrorKey)) {
            $error = $request->attributes->get($authErrorKey);
        } elseif (null !== $session && $session->has($authErrorKey)) {
            $error = $session->get($authErrorKey);
            $session->remove($authErrorKey);
        } else {
            $error = null;
        }
        */

        ....

    }

    ...

}

删除此块后,恢复错误冒泡 .