Hola,
Hemos implementado el FOSUserBundle a nuestro Symfony2 y tenemos un problema. cuando estamos el en sitioweb.com/login el login se hace perfecto, pero hemos implementado en una barra superior de navegación los campos para hacer login, pero desde ahí, si no entra el usuario en /login no se genera ningún CSRF token válido (se queda a NULL), y por lo tanto no le loguea.
¿Alguien sabe qué estamos haciendo mal? El código dentro de la barra de navegación superior es:
Código:
<fieldset id="signin_menu">
{% block fos_user_content %}
{% if error %}
<div>{{ error }}</div>
{% endif %}
<form action="{{ path("fos_user_security_check") }}" method="post">
<input type="hidden" name="_csrf_token" value="{{ csrf_token }}" />
{% debug csrf_token %}
<p>
<label for="username">{{ 'security.login.username'|trans({}, 'FOSUserBundle') }}</label>
<input type="text" id="username" name="_username" value="{{ last_username }}" />
</p>
<p>
<label for="password">{{ 'security.login.password'|trans({}, 'FOSUserBundle') }}</label>
<input type="password" id="password" name="_password" />
</p>
<p class="remember">
<input type="submit" id="_submit" name="_submit" value="{{ 'security.login.submit'|trans({}, 'FOSUserBundle') }}">
<input type="checkbox" id="remember_me" name="_remember_me" value="on" />{{ 'security.login.remember_me'|trans({}, 'FOSUserBundle') }}
</p>
<p class="forgot"> <a href="#" id="resend_password_link">Forgot your password?</a> </p>
</form>
{% endblock %}
</fieldset>