2016-10-27 52 views
7

Otrzymuję ten błąd, gdy próbuję użyć auth w Laravel 5.2. Tak było po przeniesieniu się na serwer live. Na moim lokalnym serwerze wszystko działa dobrze.TokenMismatchException w linii VerifyCsrfToken.php 67 tylko na serwerze na żywo

Token wewnątrz formularza i jest Sesja: token() są takie same.

UPD: kładę dd ($ życzenie) laravel/Framework/src/Illuminate/Fundacja/HTTP/Middleware/VerifyCsrfToken.php

a wartością _token NIE wejściowego mecze _token że jest w formie.

Próbowałem:

  • Wyłącz CSRF dla auth tras, z wyjątkiem dodania trasy w tablicy w Midd/VerifyCsrfToken.php.
    • Skonfiguruj 777 praw do folderów/storage/bootstrap.
    • Używane {!! csrf_field() !!} i name = "_ token" value = "{{csrf_token()}}">.
    • Zmieniono domenę w config/session.php.
    • php klucz rzemieślniczy: generuj.
    • Ponownie zainstalowane uwierzytelnienie. Również trasy, w których mam oprogramowanie pośrednie = auth.basic Otrzymuję "Nieprawidłowe dane uwierzytelniające", nawet bez pytania o zalogowanie się na początku.

Na moim lokalnym serwerze działa dobrze.

Dzięki

+1

Sprawdź katalog sesji Laravel. Może nie masz uprawnień do pisania. –

+0

Folder przechowywania i wszystkie foldery wewnątrz mają 777 praw, również gdy usuwam wszystkie pliki z katalogu sesji, które pojawiają się ponownie. –

+0

Czy próbowałeś tego: http://stackoverflow.com/questions/34866404/tokenmismatchexception-in-verifycsrftoken-php-line-67 –

Odpowiedz

0

Czy Twój przewodnik wygląda tak?

<?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

Nie zmieniłem mojego programu obsługi. Problem tylko na serwerze prod, na lokalnym serwerze wszystko działa dobrze. Myślę, że jest to coś z samym serwerem lub konfiguracjami.Jeśli dodam trasę logowania do $, z wyjątkiem /Middleware/VerifyCsrfToken.php, po udanym logowaniu, skrypty przekierowują do/admin (poświadczenia są poprawne), następnie prosto po tym znowu do/login. –

+0

prawda, przepraszam za to. Czy korzystasz z FastCGI na serwerze produkcyjnym? Jeśli tak, będziesz potrzebować tego w .htaccess, aby działał poprawnie. RewriteCond% {HTTP: Autoryzacja}^(. +) $ RewriteRule. * - [E = HTTP_AUTHORIZATION:% {HTTP: Autoryzacja}] – Lucas

+0

Tak, mam interfejs API serwera: CGI/FastCGI, a także mam te linie w moim pliku .htaccess. –