Регистр Symfony не найден токен CSRF недействителен - PullRequest
2 голосов
/ 16 апреля 2019

всех и спасибо за вашу будущую помощь

Я создаю блог и хочу разместить страницу входа и регистрации в одном представлении, и для этого я выполнил все свои процедуры в методе входа

и вернуть в том же виде регистрацию и подключение 2 форм

Я уже пытался сделать рендер, но он не работает, и я даже удалил кнопку токена, не работает


public function login(AuthenticationUtils $authenticationUtils, Request $request, UserPasswordEncoderInterface $passwordEncoder, MailerService $mailerService, \Swift_Mailer $mailer): Response
    {
        // get the login error if there is one
        $error = $authenticationUtils->getLastAuthenticationError();
        // last username entered by the user
        $lastUsername = $authenticationUtils->getLastUsername();

        $user = new User();
        $form = $this->createForm(RegistrationFormType::class, $user);
        $form->handleRequest($request);

        if ($form->isSubmitted() && $form->isValid()) {
            // encode the plain password
            $user->setPassword(
                $passwordEncoder->encodePassword(
                    $user,
                    $form->get('password')->getData()
                )
            );

            $user->setConfirmationToken($this->generateToken());

            $entityManager = $this->getDoctrine()->getManager();
            $entityManager->persist($user);
            $entityManager->flush();

            $token = $user->getConfirmationToken();
            $email = $user->getEmail();
            $username = $user->getUsername();

            $mailerService->sendToken($mailer, $token, $email, $username, 'registration.html.twig');

            return $this->redirectToRoute('app_login');
        }

        return $this->render('security/login.html.twig', ['last_username' => $lastUsername, 'error' => $error, 'registrationForm' => $form->createView()]);
    }

template:


    <div class="container">

        <div class="row">
            <div class="col-md-6">
                <div class="section-row">
                    <div class="section-title">
                        <h1 class="title text-center">Connexion</h1>
                    </div>
                    {% if error %}
                        <div class="alert alert-danger">{{ error.messageKey|trans(error.messageData, 'security') }}</div>
                    {% endif %}
                    <form method="post">
                        <div class="row">
                            <div class="col-md-12">
                                <div class="form-group">
                                    <input class="input" value="{{ last_username }}" type="text" name="username" placeholder="Nom d'utilisateur">
                                </div>
                            </div>
                            <div class="col-md-12">
                                <div class="form-group">
                                    <input class="input" type="password" name="password" placeholder="Mot de passe">
                                </div>
                            </div>
                            <div class="col-md-12">
                                <div class="form-group">
                                    <label>
                                        <input type="checkbox" name="_remember_me"> Se souvenir de moi
                                    </label>
                                </div>
                            </div>
                            <div class="col-md-12">
                                <div class="form-group">
                                    <a href="{{ path('forgotten_password') }}">Mot de passe oublier</a>
                                </div>
                            </div>
                            <input type="hidden" name="_csrf_token" value="{{ csrf_token('authenticate') }}">
                            <div class="col-md-12">
                                <button class="primary-button" type="submit">
                                    Se connecter
                                </button>
                            </div>
                        </div>
                    </form>
                </div>
            </div>
            <div class="col-md-6">
                <h1>Register</h1>

                {{ form_start(registrationForm) }}
                {{ form_row(registrationForm.username) }}
                {{ form_row(registrationForm.password.first) }}
                {{ form_row(registrationForm.password.second) }}

                <button class="btn">Register</button>
                {{ form_end(registrationForm) }}

            </div>
        </div>

    </div>

проблема, когда я хочу зарегистрироваться, не работает, он отправляет мне обратно, что токен является недействительным, в то время как для этого подключения он работает правильно. Спасибо за помощь, друзья!

...