2015-07-30 8 views
8

Я платежную систему, где данные, представленные на сайте 3 партии и чем буксируемых назад ...отключить CSRF в Laravel для конкретного маршрута

Когда данные возвращает он попадает конкретный URL позволяет говорить/ОК маршрут. $_REQUEST['transaction'].

Но из-за промежуточного ПО laravel у меня возникает несоответствие токенов. Нет никакого способа, по которому сторонний платежный API может генерировать токен, так как я его отключил? только для этого маршрута?

или есть лучший вариант?

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-exclusion-uris – Rashi

+0

Какую версию Laravel вы используете? Если 5.1, см. Ответ ниже. Если кто-то старше, дайте мне знать, и я обновлю ответ, так как есть способы сделать это для более старых версий, немного сложнее. –

ответ

30

Начиная с версии 5.1 Laravel в VerifyCsrfToken промежуточного слоя позволяет определить маршруты, которые исключены из проверки CSRF. Для того, чтобы достичь этого, необходимо добавить маршруты к $ за исключением массива в вашем App \ Http \ MiddlewareVerifyCsrfToken класс:

<?php namespace App\Http\Middleware; 

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

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

http://laravel.com/docs/master/routing#csrf-excluding-uris См для получения дополнительной информации

+0

Привет, Jedrzej, выше метод Я использовал его, но он не работает с laravel 5.2.I нужно знать, как отключить токен CSRF для маршрутов API для выше аналогичного решения для версии laravel 5.2. –

+0

Исключение URI в 5.2 работает одинаково - см. Документы здесь https://laravel.com/docs/5.2/routing#csrf-excluding-uris –

+0

Это сработало для меня для laravel 5.2 благодаря мужа. – vimuth

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