Вы можете добавить CsrfTokenManagerInterface в Controller
и использовать его в своем логине , как показано в следующем примере:
SecurityController.php
class SecurityController extends Controller
{
/** @var CsrfTokenManagerInterface */
private $tokenManager;
public function __construct(CsrfTokenManagerInterface $tokenManager = null)
{
$this->tokenManager = $tokenManager;
}
/**
* @Route("/login", name="login")
*
* @param Request $request
*/
public function login(Request $request)
{
// Get the login error if exists
$error = $this->get('security.authentication_utils')->getLastAuthenticationError();
// Last username entered by user
$lastUsername = $this->get('security.authentication_utils')->getLastUsername();
$csrfToken = $this->tokenManager
? $this->tokenManager->getToken('authenticate')->getValue()
: null;
if (null === $csrfToken) {
//your exception
}
return $this->renderLogin([
'last_username' => $lastUsername,
'error' => $error,
'csrf_token' => $csrfToken
]);
}
}