2016-10-27 2 views
7

Я получаю эту ошибку, когда пытаюсь использовать auth в Laravel 5.2. Это произошло после перехода на живой сервер. На моем локальном сервере все работает нормально.TokenMismatchException в строке VerifyCsrfToken.php 67 только на реальном сервере

Ток внутри формы и есть сессия: токен() - то же самое.

UPD: Я положил дд ($ запроса) в Laravel/рамочный/SRC/Осветите/Foundation/Http/Промежуточное/VerifyCsrfToken.php

и _token значения НЕ Совпадает _token ввода, которая находится в форме.

Я попытался:

  • Отключить CSRF для AUTH маршрутов, добавили маршруты в массиве, за исключением в Midd/VerifyCsrfToken.php.
    • Настроить 777 прав на папки хранения/бутстрапа.
    • Используется {!! csrf_field() !!} и name = "_ token" value = "{{csrf_token()}}">.
    • Изменен домен в config/session.php.
    • php artisan ключ: сгенерировать.
    • Переустановлено Auth. Также маршруты, где у меня есть middleware = auth.basic Я получаю «Недопустимые учетные данные» даже без запроса входа в систему поначалу.

На моем локальном сервере это работает отлично.

Thanks

+1

Проверить каталог сеансов Laravel. Возможно, у вас нет разрешения писать. –

+0

Папка хранения и все папки внутри имеют 777 прав, также когда я удаляю все файлы из каталога сеанса, они появляются снова. –

+0

Вы попробовали это: http://stackoverflow.com/questions/34866404/tokenmismatchexception-in-verifycsrftoken-php-line-67 –

ответ

0

Как выглядит ваш обработчик?

<?php 
... 
public function handle($request, Closure $next) 
{ 
    if (
     $this->isReading($request) || 
     //$this->runningUnitTests() || 
     $this->shouldPassThrough($request) || 
     $this->tokensMatch($request) 
    ) { 
     return $this->addCookieToResponse($request, $next($request)); 
    } 

    // redirect the user back to the last page and show error 
    return Redirect::back()->withErrors('Sorry, we could not verify your request. Please try again. (You waited too long to submit your form)'); 
} 
+0

Я не менял своего обработчика. Проблема только на prod-сервере, на локальном сервере все работает нормально. Я думаю, что это что-то с самим сервером или конфигурациями.Если я добавлю логин-маршрут в $ за исключением /Middleware/VerifyCsrfToken.php, после успешного входа в систему сценарии перенаправляются в/admin (учетные данные верны), а затем сразу после этого снова/login. –

+0

правый, извините за то. Вы используете FastCGI на производственном сервере? Если это так, вам понадобится это в вашем .htaccess, чтобы он работал правильно. RewriteCond% {HTTP: авторизация}^(. +) $ RewriteRule. * - [E = HTTP_AUTHORIZATION:% {HTTP: авторизация}] – Lucas

+0

Да, у меня есть API-интерфейс сервера: CGI/FastCGI, а также у меня есть эти строки в моем файле .htaccess. –

Смежные вопросы