摘要:第一部分安裝第一步使用安裝第二步服務提供器使用框架注冊自己的數據庫遷移目錄,因此在注冊提供器后,就應該運行的遷移命令來自動創建存儲客戶端和令牌的數據表第三步接下來,運行命令來創建生成安全訪問令牌時所需的加密密鑰,同時,這條命令也會創建用于生
第一部分 安裝Passport(laravel/passport)
第一步. 使用 Composer 安裝 Passport :
composer require laravel/passport=~7.0
第二步. Passport 服務提供器使用框架注冊自己的數據庫遷移目錄,因此在注冊提供器后,
就應該運行 Passport 的遷移命令來自動創建存儲客戶端和令牌的數據表:
php artisan migrate
第三步. 接下來,運行 passport:install 命令來創建生成安全訪問令牌時所需的加密密鑰,第二部分 開始配置
同時,這條命令也會創建用于生成訪問令牌的「個人訪問」客戶端和「密碼授權」客戶端:
php artisan passport:install
第四步. 將 LaravelPassportHasApiTokens Trait 添加到 AppUser 模型中,`
這個 Trait 會給你的模型提供一些輔助函數,用于檢查已認證用戶的令牌和使用范圍:
第五步. 在AuthServiceProvider中, 增加 "Passport::routes()"和過期時間:addDays(30)); //這里設置為30天過期 Passport::refreshTokensExpireIn(now()->addDays(30)); } }第六步. 在 auth.php中, 更改 api 認證方式為passport:[ "web" => [ "driver" => "session", "provider" => "users", ], "api" => [ "driver" => "passport", "provider" => "users", ], ] ];第三部分 提供測試接口第七步. 增加相應API路由配置:"Api"], function () { // 登錄 Route::post("login", "LoginController@login"); // 注冊 Route::post("register", "LoginController@register"); Route::group(["middleware" => "auth:api"], function () { // 用戶信息 Route::get("user", "LoginController@read"); }); });第八步. 創建controller => php artisan make:controller Api/LoginController:request("email"), "password" => request("password")])){ $user = Auth::user(); $success["token"] = $user->createToken("EDU")->accessToken; return response()->json(["success" => $success], $this->successStatus); } else{ return response()->json(["error"=>"Unauthorised"], 401); } } /** * 注冊API * * @param Request $request * @param email 登錄郵箱 * @param password 登錄密碼 * * @return IlluminateHttpResponse */ public function register(Request $request) { // 數據驗證 $validator = Validator::make($request->all(), [ "name" => "required", "email" => "required|email", "password" => "required", "c_password" => "required|same:password" ]); if ($validator->fails()) { return response()->json(["error"=>$validator->errors()], 401); } // 讀取參數并保存數據 $input = $request->all(); $input["password"] = bcrypt($input["password"]); $user = User::create($input); // 創建token并返回 $success["token"] = $user->createToken("EDU")->accessToken; $success["name"] = $user->name; return response()->json(["success"=>$success], $this->successStatus); } /** * 讀取用戶信息API * * @return IlluminateHttpResponse */ public function read() { $user = Auth::user(); return response()->json(["success" => $user], $this->successStatus); } }第九步. 使用Postman測試API:測試API數據獲取,需要在headers中添加Token; 格式
key=Authorization,value=Bearer空格token
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/29864.html
摘要:在本教程中,我們將了解如何在應用中使用認證。當用戶通過登錄時,會生成令牌并將其發送給用戶,該用戶可用于身份驗證。提供,可以毫無困難地使用認證。服務提供者我們使用的最新版本,它可以使用包發現并自動注冊服務。 showImg(https://segmentfault.com/img/remote/1460000019095408?w=1000&h=526); 在本教程中,我們將了解如何在 ...
摘要:模糊授權,跟上面的認證碼授權類似,不同的是,我們的資源服務器,返回的直接就是準入令牌,而不是認證碼。 本文來自pilishen.com----原文鏈接; 歡迎來和pilishen一起學習php&Laravel;學習群:109256050 OAuth2是一個安全框架,控制著程序受保護部分的準入,主要是控制不同的客戶端如何來調取API,保證它們在請求相應資源的時候有相應的權限。 Larav...
摘要:使用進行測試注冊接口,注冊成功后返回與用戶名登錄接口詳情接口參考了簡書浪來了的認證應用實戰 安裝larave laravel new passport_demo cd passport_demo && composer install 將 .env 中數據庫配置修改為自己的數據庫配置 DB_DATABASE=homestead DB_USERNAME=homestead DB_P...
摘要:看到社區常有人問用于密碼驗證方式來獲取的問題,剛好我最近一個項目使用,也是使用的密碼授權來做驗證,對于如何做登錄登出,以及多賬號系統的認證等常用場景做一下簡單的使用小總結。 看到Laravel-China社區常有人問Laravel Passport用于密碼驗證方式來獲取Token的問題,剛好我最近一個API項目使用Laravel Dingo Api+Passport,也是使用Oauth...
摘要:本文來自原文鏈接歡迎作客我們的學習群比如說你要給你的手機用戶創建,使用的是你已有的系統里的數據庫,尤其是用戶數據。 本文來自pilishen.com----原文鏈接; 歡迎作客我們的php&Laravel學習群:109256050 比如說你要給你的手機APP用戶創建API,使用的是你已有的Laravel系統里的數據庫,尤其是用戶數據。現在我們來看一下,這里使用的是Laravel Pas...
閱讀 2555·2021-09-30 10:00
閱讀 3491·2021-09-22 10:54
閱讀 6212·2021-09-07 10:28
閱讀 2943·2019-08-29 13:53
閱讀 742·2019-08-29 12:42
閱讀 958·2019-08-26 13:51
閱讀 1258·2019-08-26 13:32
閱讀 3021·2019-08-26 10:39