Laravel cURL POST 抛出 TokenMismatchException

Laravel cURL POST Throwing TokenMismatchException

我的应用程序 POST cURL 请求有问题。 目前,我正在使用 laravel 5.

构建 RESTFUL 注册功能

这个例子的路线是

localhost:8000/user/create

我在终端上使用 cURL 函数传递值

curl -d 'fname=randy&lname=tan&id_location=1&email=randy@randytan.me&password=randytan&remember_token=Y&created_at=2015-03-03' localhost:8000/auth/register/

这是我的 routes.php

Route::post('user/create', 'UserController@create');

这是我存储注册用户的函数

public function create()
    {
        //function to create user.
        $userAccounts = new User;
        $userAccounts->fname = Request::get('fname');
        $userAccounts->lname = Request::get('lname');
        $userAccounts->id_location = Request::get('id_location');
        $userAccounts->email = Request::get('email');
        $userAccounts->password = Hash::make(Request::get('password'));
        $userAccounts->created_at = Request::get('created_at');

        $userAccounts->save();

        return Response::json(array(
                'error' => false,
                'user'  => $userAccounts->fname . " " . $userAccounts->lname
            ), 200);

    }

执行上面的 cURL 语法时,出现此错误 TokenMismatchException

你有什么想法吗?

因为我只在我的几个 url 中实现了中间件,并且这个 cURL 注册 url 与任何身份验证机制都不紧密。

先谢谢了。

Laravel 5 默认在中间件中强制执行 CSFR 令牌身份验证。

  1. 您可以在所选路线上禁用 CSFR 这是 link
  2. 或者您可以尝试其中的一些 solutions。希望对你有所帮助。

  3. 更改您的 csfr 令牌方法/app/Http/Middleware/VerifyCsrfToken.php

    public function handle ($request, Closure $next) { if ( !$request->is("api/*")) { return parent::handle($request, $next); } return $next($request); }

在Laravel 5(最新版本)中,您可以在/app/Http/Middleware/VerifyCsrfToken中指定要排除的路由。php

class VerifyCsrfToken extends BaseVerifier
{
    /**
     * The URIs that should be excluded from CSRF verification.
     *
     * @var array
     */
    protected $except = [
        'rest-api/*', # all routes to rest-api will be excluded.
    ];


}

希望对您有所帮助。

在我的例子中,我需要在 api.php 上添加路由而不是 web.php