首先我們建立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 協議》,轉載必須註明作者和本文連結