Я смотрю на документы:
https://laravel.com/docs/5.4/csrf#csrf-excluding-uris
Когда я отправляю сообщение из другого домена на маршрут контроллера (/ create-order), который я добавил в массив $ кроме, я продолжаю получать 302 найденных кода состояния.
Мне нужно сделать запись ajax из приложения PhoneGap на сервер приложений.
(Если только я не могу получить токен в приложении, действительный на сервере).
Итак, create-order добавляется к $ кроме
Я пишу из приложения, чтобы создать заказ,
Я получаю 302.
Я что-то пропустил?
namespace App\Http\Middleware;
use Illuminate\Foundation\Http\Middleware\VerifyCsrfToken as Middleware;
class VerifyCsrfToken extends Middleware
{
/**
* The URIs that should be excluded from CSRF verification.
*
* @var array
*/
protected $except = [
'*'
];
}
EDIT2:
Это то, что я хочу:
namespace App\Http\Middleware;
use Illuminate\Foundation\Http\Middleware\VerifyCsrfToken as Middleware;
class VerifyCsrfToken extends Middleware
{
/**
* The URIs that should be excluded from CSRF verification.
*
* @var array
*/
protected $except = [
//
];
public function __construct(Application $app, Encrypter $encrypter) {
parent::__construct($app, $encrypter);
$header = $this->getallheaders();
if (isset($header['Authority']) && $header['Authority'] == 'somesecretcode') {
$this->except[] = 'create-order';
}
}protected function getallheaders()
{
$headers = [];
foreach ($_SERVER as $name => $value)
{
if (substr($name, 0, 5) == 'HTTP_')
{
$headers[str_replace(' ', '-', ucwords(strtolower(str_replace('_', ' ', substr($name, 5)))))] = $value;
}
}
return $headers;
}
}
Задача ещё не решена.
Других решений пока нет …