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

資訊專欄INFORMATION COLUMN

Laravel使用Passport來(lái)創(chuàng)建API用戶認(rèn)證

TwIStOy / 2556人閱讀

摘要:本文來(lái)自原文鏈接歡迎作客我們的學(xué)習(xí)群比如說(shuō)你要給你的手機(jī)用戶創(chuàng)建,使用的是你已有的系統(tǒng)里的數(shù)據(jù)庫(kù),尤其是用戶數(shù)據(jù)。

本文來(lái)自pilishen.com----原文鏈接; 歡迎作客我們的php&Laravel學(xué)習(xí)群:109256050

比如說(shuō)你要給你的手機(jī)APP用戶創(chuàng)建API,使用的是你已有的Laravel系統(tǒng)里的數(shù)據(jù)庫(kù),尤其是用戶數(shù)據(jù)?,F(xiàn)在我們來(lái)看一下,這里使用的是Laravel Passport組件。

我們將要?jiǎng)?chuàng)建三個(gè)api,分別是:

Login API

Register API

Details API

(一)安裝和配置Passport
composer require laravel/passport

config/app.php中注冊(cè)provider

"providers" => [
    ....
    LaravelPassportPassportServiceProvider::class,
],

創(chuàng)建Passport需要的數(shù)據(jù)表:

php artisan migrate

然后初始化Passport,執(zhí)行:

php artisan passport:install

該命令會(huì)生成用以后期創(chuàng)建安全令牌(access token)的秘鑰,同時(shí)也會(huì)創(chuàng)建personal accesspassword grant兩個(gè)客戶端(clients)。

接下來(lái),在app/User.php中添加HasApiTokens trait:


然后在app/Providers/AuthServiceProvider.php中添加Passport::routes();

registerPolicies();
        Passport::routes();
    }
}

config/auth.php中將apidriver改成passport:

 [
       ...
        "api" => [
            "driver" => "passport",
            "provider" => "users",
        ],
    ],
    .....
]
(二)創(chuàng)建相應(yīng)的api路由

在你的routes/api.php

Route::post("login", "APIUserController@login");
Route::post("register", "APIUserController@register");

Route::group(["middleware" => "auth:api"], function(){
    Route::post("details", "APIUserController@details");
});
(三)創(chuàng)建相應(yīng)的controller

路徑app/Http/Controllers/API/UserController.php

 request("email"), "password" => request("password")])){
            $user = Auth::user();
            $success["token"] =  $user->createToken("MyApp")->accessToken;
            return response()->json(["success" => $success], $this->successStatus);
        }
        else{
            return response()->json(["error"=>"Unauthorised"], 401);
        }
    }

    
    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);
        $success["token"] =  $user->createToken("MyApp")->accessToken;
        $success["name"] =  $user->name;

        return response()->json(["success"=>$success], $this->successStatus);
    }

     public function details()
    {
        $user = Auth::user();
        return response()->json(["success" => $user], $this->successStatus);
    }
}
(四)使用rest client來(lái)測(cè)試api

Login API:

Register API:

Details API:

這個(gè)測(cè)試前需要添加一些header信息:

"headers" => [
    "Accept" => "application/json",
    "Authorization" => "Bearer ".$accessToken,
]

[譯文出處:
//itsolutionstuff.com/post/laravel-5-how-to-create-api-authentication-using-passport-example.html](//itsolutionstuff.com/post/laravel-5-how-to-create-api-authentication-using-passport-example.html)

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

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

相關(guān)文章

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

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

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

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

    RobinTang 評(píng)論0 收藏0
  • laravel/passport實(shí)現(xiàn)API認(rèn)證Laravel5.6)

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

    huayeluoliuhen 評(píng)論0 收藏0
  • 使用 laravel PassportAPI 認(rèn)證

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

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

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

    Panda 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<