成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

laravel/passport實現(xiàn)API認(rèn)證(Laravel5.6)

huayeluoliuhen / 2890人閱讀

摘要:第一部分安裝第一步使用安裝第二步服務(wù)提供器使用框架注冊自己的數(shù)據(jù)庫遷移目錄,因此在注冊提供器后,就應(yīng)該運行的遷移命令來自動創(chuàng)建存儲客戶端和令牌的數(shù)據(jù)表第三步接下來,運行命令來創(chuàng)建生成安全訪問令牌時所需的加密密鑰,同時,這條命令也會創(chuàng)建用于生

第一部分 安裝Passport(laravel/passport)
第一步. 使用 Composer 安裝 Passport :
composer require laravel/passport=~7.0
第二步. Passport 服務(wù)提供器使用框架注冊自己的數(shù)據(jù)庫遷移目錄,因此在注冊提供器后,
就應(yīng)該運行 Passport 的遷移命令來自動創(chuàng)建存儲客戶端和令牌的數(shù)據(jù)表:
php artisan migrate
第三步. 接下來,運行 passport:install 命令來創(chuàng)建生成安全訪問令牌時所需的加密密鑰,
同時,這條命令也會創(chuàng)建用于生成訪問令牌的「個人訪問」客戶端和「密碼授權(quán)」客戶端:
php artisan passport:install
第二部分 開始配置
第四步. 將 LaravelPassportHasApiTokens Trait 添加到 AppUser 模型中,`
這個 Trait 會給你的模型提供一些輔助函數(shù),用于檢查已認(rèn)證用戶的令牌和使用范圍:

第五步. 在AuthServiceProvider中, 增加 "Passport::routes()"和過期時間:
addDays(30));  //這里設(shè)置為30天過期
        Passport::refreshTokensExpireIn(now()->addDays(30));
    }
}
第六步. 在 auth.php中, 更改 api 認(rèn)證方式為passport:
 [
        "web" => [
            "driver" => "session",
            "provider" => "users",
        ],

        "api" => [
            "driver" => "passport",
            "provider" => "users",
        ],
    ]
];
第三部分 提供測試接口
第七步. 增加相應(yīng)API路由配置:
 "Api"], function () {
    // 登錄
    Route::post("login", "LoginController@login");
    // 注冊
    Route::post("register", "LoginController@register");
    Route::group(["middleware" => "auth:api"], function () {
        // 用戶信息
        Route::get("user", "LoginController@read");
    });
});
第八步. 創(chuàng)建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)
    {
        // 數(shù)據(jù)驗證
        $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);
        }

        // 讀取參數(shù)并保存數(shù)據(jù)
        $input = $request->all();
        $input["password"] = bcrypt($input["password"]);
        $user = User::create($input);

        // 創(chuàng)建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數(shù)據(jù)獲取,需要在headers中添加Token;  格式
key=Authorization,value=Bearer空格token

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/29864.html

相關(guān)文章

  • 使用 Laravel Passport 為你的 REST API 增加用戶認(rèn)證功能

    摘要:在本教程中,我們將了解如何在應(yīng)用中使用認(rèn)證。當(dāng)用戶通過登錄時,會生成令牌并將其發(fā)送給用戶,該用戶可用于身份驗證。提供,可以毫無困難地使用認(rèn)證。服務(wù)提供者我們使用的最新版本,它可以使用包發(fā)現(xiàn)并自動注冊服務(wù)。 showImg(https://segmentfault.com/img/remote/1460000019095408?w=1000&h=526); 在本教程中,我們將了解如何在 ...

    mudiyouyou 評論0 收藏0
  • Laravel Passport里的授權(quán)類型介紹

    摘要:模糊授權(quán),跟上面的認(rèn)證碼授權(quán)類似,不同的是,我們的資源服務(wù)器,返回的直接就是準(zhǔn)入令牌,而不是認(rèn)證碼。 本文來自pilishen.com----原文鏈接; 歡迎來和pilishen一起學(xué)習(xí)php&Laravel;學(xué)習(xí)群:109256050 OAuth2是一個安全框架,控制著程序受保護(hù)部分的準(zhǔn)入,主要是控制不同的客戶端如何來調(diào)取API,保證它們在請求相應(yīng)資源的時候有相應(yīng)的權(quán)限。 Larav...

    RobinTang 評論0 收藏0
  • 使用 laravel PassportAPI 認(rèn)證

    摘要:使用進(jìn)行測試注冊接口,注冊成功后返回與用戶名登錄接口詳情接口參考了簡書浪來了的認(rèn)證應(yīng)用實戰(zhàn) 安裝larave laravel new passport_demo cd passport_demo && composer install 將 .env 中數(shù)據(jù)庫配置修改為自己的數(shù)據(jù)庫配置 DB_DATABASE=homestead DB_USERNAME=homestead DB_P...

    whinc 評論0 收藏0
  • Laravel Passport API 認(rèn)證使用小結(jié)

    摘要:看到社區(qū)常有人問用于密碼驗證方式來獲取的問題,剛好我最近一個項目使用,也是使用的密碼授權(quán)來做驗證,對于如何做登錄登出,以及多賬號系統(tǒng)的認(rèn)證等常用場景做一下簡單的使用小總結(jié)。 看到Laravel-China社區(qū)常有人問Laravel Passport用于密碼驗證方式來獲取Token的問題,剛好我最近一個API項目使用Laravel Dingo Api+Passport,也是使用Oauth...

    Panda 評論0 收藏0
  • Laravel使用Passport來創(chuàng)建API用戶認(rèn)證

    摘要:本文來自原文鏈接歡迎作客我們的學(xué)習(xí)群比如說你要給你的手機(jī)用戶創(chuàng)建,使用的是你已有的系統(tǒng)里的數(shù)據(jù)庫,尤其是用戶數(shù)據(jù)。 本文來自pilishen.com----原文鏈接; 歡迎作客我們的php&Laravel學(xué)習(xí)群:109256050 比如說你要給你的手機(jī)APP用戶創(chuàng)建API,使用的是你已有的Laravel系統(tǒng)里的數(shù)據(jù)庫,尤其是用戶數(shù)據(jù)?,F(xiàn)在我們來看一下,這里使用的是Laravel Pas...

    TwIStOy 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<