laravel使用api认证

首先在user表中新建一个api_token字段:

$table->string('api_token', 60)->unique();
image.png

在user表中加入一个用户,只要保证api_token为111111就好

image.png

接下来在api.php路由中加入以下代码

Route::group(['middleware' => ['auth.api']], function () {
    Route::get('/test_token', function () {
        return 'ok';
    });
});
image.png

可以看到用到了一个中间件,中间件是需要注册的。接下来注册一个中间件

Kernel.php中,加入以下代码

 'auth.api' => \App\Http\Middleware\webToken::class,//api登录中间件
image.png

接下来注册一个webToken的中间件

php artisan make:middleware webToken

打开编辑

 public function handle($request, Closure $next)
    {
        if (\auth('api')->guest()) {
            return response()->json(['code' => 401,'msg' => '未设置token']);
        }
        return $next($request);
    }
image.png

auth('api')被用到了,那接下来我们修改一下配置文件config->auth.php

image.png

image.png

写到这里代码部分完成,接下来测试一下
访问:域名/api/test_token会提示401错误,未设置token


image.png

访问:域名/api/test_token?api_token=111111 返回OK

image.png

你可能感兴趣的:(laravel使用api认证)