Laravel auth:api - 在标头而不是请求体中使用令牌

时间:2018-03-19 10:37:36

标签: php laravel laravel-5.5

这是我第一次创建API,我正在使用laravel 5.5。

我创建了一个简单的GET端点,其中auth:api是唯一的中间件。

当我使用请求正文中的API令牌(即http://localhost/my-endpoint?api_token=123)访问端点时,它可以正常工作,但我不希望这样。

如何在标题中使laravel接受令牌? (即Authorization: Bearer 123

修改

这是我的路线代码:

Route::get( '/my-endpoint', function(){
    dd( 'hello world' );
})->middleware( 'auth:api' );

1 个答案:

答案 0 :(得分:2)

您必须更改表格以添加' api_token'字段。

Schema::create('users', function (Blueprint $table) {
    $table->increments('id');
    $table->string('name');
    $table->string('email')->unique();
    $table->string('password');
    $table->string('api_token', 60)->unique(); // Add api_token field
    $table->rememberToken();
    $table->timestamps();
});

现在,您可以在标题中使用不记名令牌授权

https://medium.com/@sirajul.anik/laravel-api-authenticate-user-with-custom-driver-different-table-using-auth-middleware-fa2cabec2d61