首先先参考这个文档
Laravel API 认证:JWT 认证 | Laravel China 社区
1. 处理密码加密
使用 bcrypt('123123')
2. 处理JWT token过期时间
到jwt的配置文件: 在config 下的jwt.php中大约在104行
// 默认一小时, 60指的是60分钟
'ttl' => env('JWT_TTL', 60),
在.env文件中 找到 JWT_TTL, 如果没有就新添加一个字段
JWT_TTL=6000 现在变成了100小时
然后在登录的控制器的那里, 设置的秒数也要扩大相应的倍数
return response()->json([
'access_token' => $token,
'token_type' => 'Bearer',
'expires_in' => auth('api')->factory()->getTTL() * 6000
]);
3. 在app\http\Kernel
在 $routeMiddleware = []
'bindings' => \Illuminate\Routing\Middleware\SubstituteBindings::class
4. 在Providers => RouteServiceProvider 中
mapApiRoutes 方法中
Route::prefix('api')
->middleware('api')
->namespace($this->namespace)
->group(base_path('routes/api.php'));
// 后台
Route::prefix('api')
->middleware('api')
->namespace($this->namespace)
->group(base_path('routes/admin.php'));
// 用户权限认证
Route::prefix('api')
->middleware('api')
->namespace($this->namespace)
->group(base_path('routes/auth.php'));