访问用户中心实现认证
首先我们创建config/service.php用于配置微服务地址。
在bootstrap/app.php 注册该配置
$app->configure('service');
在.env文件增加
SERVICE_USER_CENTER=http://192.168.137.200:9504
这样我们就可能使用
config('service.user_center');
获得用户中心的地址了
安装json rpc 组件
composer require graze/guzzle-jsonrpc
创建一个中间件AuthMiddleware.php
实现功能,首先获取token,优先顺序为 header > $request->input。然后访问用户中心实现token验证。
在bootstrap/app.php注册该中间件
$app->routeMiddleware([
'auth' => App\Http\Middleware\AuthMiddleware::class,
]);
就可以在路由中使用了,比如首页
$router->get('/', ['middleware' => 'auth', 'uses' => 'IndexController@index']);
现在我们访问首页,就必须带上user_center获取的token了。
验证通过将返回user
{
"user_id": 1,
"username": "admin",
"nick_name": "超级管理员",
"real_name": "超级管理员",
"sex": 0,
"phone": "",
"avatar": "",
"last_login_at": null,
"created_at": "2019-11-04 15:16:18",
"status": 1
}
失败将返回错误信息
{
"code": 401,
"message": "Token未验证通过"
}
博客:《PHP 微服务练兵》系列教程
本作品采用《CC 协议》,转载必须注明作者和本文链接