我有一个API调用,其中包含POST数据;我们假设这是登录过程。
通过Chrome的Postman扩展程序,我发送了用户名和密码以通过POST方式登录用户。 但是我收到了以下信息:
Illuminate \ Session \ TokenMismatchException
在我的基础控制器中,我有以下代码:
/**
* Initializer.
*
* @return void
*/
public function __construct() {
// CSRF Protection
$this->beforeFilter('csrf', array('on' => 'post'));
// Layouts/Notifications
$this->messageBag = new Illuminate\Support\MessageBag;
}
当我删除拥有beforeFilter过滤器的行时,一切正常。 但这不是一个解决方案。 任何POST调用都会得到这个错误信息。 我知道我需要这个_token。 但是当我通过API调用时如何获取此令牌?我知道我可以在Laravel内部创建令牌,但是当我通过API从外部调用时该怎么做呢?
csrf_token();
向用户发送csrf_token值。 - Matt Burrow$this->beforeFilter('csrf', array('on' => 'post'));
?我在我的基本控制器的__construct函数中有这行代码。所以我希望这通常是一个前置过滤器,但在某些情况下,前置过滤器应该被禁用。这可能吗? - goldlife