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;
}
*/
....
}
...
}
删除此块后,恢复错误冒泡 .