2015-07-30 13 views
8

ho un sistema di pagamento, in cui i dati è sottoposta al sito 3rd party e poi tirò indietro ...disabilitare CSRF in laravel per l'itinerario specifico

Quando i dati restituisce colpisce URL specifico consente di dire/percorso ok. $_REQUEST['transaction'].

Ma a causa del middleware di laravel mi viene a mancare il token. Non è possibile che API di pagamento di terze parti possano generare token, quindi come posso disabilitarlo? solo per questa rotta?

oppure esiste un'opzione migliore?

Route::get('/payment/ok', '[email protected]'); 
Route::get('/payment/fail', '[email protected]'); 

public function Ok(Request $request) 
{ 
    $transId = $request->get('trans_id'); 

    if (isset($transId)) 
    { 

     return $transId; 

    } 

} 
+2

http: // laravel. com/docs/master/routing # csrf-excluded-uris – Rashi

+0

Quale versione di Laravel stai usando? Se 5.1, vedere la risposta sotto. Se un po 'più vecchio, fammi sapere e aggiornerò la risposta, poiché ci sono modi per farlo nelle versioni precedenti, solo un po' più complicato. –

risposta

30

A partire dalla versione 5.1 VerifyCsrfToken middleware di laravel permette di specificare percorsi, che sono escluse dalla convalida CSRF. Al fine di raggiungere questo, è necessario aggiungere i percorsi per $ tranne matrice nel tuo App \ Http \ MiddlewareVerifyCsrfToken classe:

<?php namespace App\Http\Middleware; 

use Illuminate\Foundation\Http\Middleware\VerifyCsrfToken as BaseVerifier; 

class VerifyCsrfToken extends BaseVerifier 
{ 
    protected $except = [ 
    'payment/*', 
    ]; 
} 

Vedi http://laravel.com/docs/master/routing#csrf-excluding-uris per ulteriori informazioni

+0

Hi Jedrzej, Sopra metodo che ho usato, ma non funziona con laravel 5.2.I necessario sapere per come disabilitare CSRF gettone per percorsi API per soluzione sopra simile per laravel versione 5.2. –

+0

Escludendo URI in 5.2 funziona allo stesso modo - vedi la documentazione qui https://laravel.com/docs/5.2/routing#csrf-excluding-uris –

+0

ha funzionato per me per laravel 5.2 grazie un compagno di gruppo. – vimuth

Problemi correlati