<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                --- > ###### 首先說明 JWT 是什么, 它和權限認證之間的關系是什么, 我們如何來優雅的使用 JWT 這一工具以及其背后的深刻原理 ## 一、安裝 JWT 的擴展包 > 需要安裝的包, 采用 composer 的方式安裝 https://jwt-auth.readthedocs.io/en/develop/laravel-installation/ composer require tymon/jwt-auth ## 二、配置 > 文檔中說需要配置provider, 5.4 以下, 這里我們是8.5就不用配置了 #### 發布我們的配置文件 php artisan vendor:publish --provider="Tymon\JWTAuth\Providers\LaravelServiceProvider" ![圖片alt](/media/editor/1630034883368_20210827112806242505.png ''圖片title'') > #### 生成秘鑰到 env 中 ![圖片alt](/media/editor/1630034968762_20210827112931650476.png ''圖片title'') > #### 有了門后我們就安裝,安裝好后我們需要讓保安執行守護哪一個門, `auth.php` ![圖片alt](/media/editor/1630035233074_20210827113355980291.png ''圖片title'') > 添加下面這一行代碼, 識別我們的驗證驅動 JWT 'guards' => [ 'web' => [ 'driver' => 'session', 'provider' => 'users', ], 'blog' => [ 'driver' => 'jwt', 'provider' => 'users', ], ], > 注意模型不要配置錯誤 User 'providers' => [ 'users' => [ 'driver' => 'eloquent', 'model' => App\Models\User::class, ], > 原來我們已經有了 User 表, 這個表是安裝 laravel-permission 后生成的我們就用這個 User模型。實現了 JWT 的接口我們需要重實現兩個方法 class User extends Authenticatable implements JWTSubject > 實現 JWT 的兩個方法并改造 public function getJWTIdentifier() { return $this->getKey(); } public function getJWTCustomClaims() { return []; // 存放一些自定義的信息到JWT的token } ### 三、如何使用 > #### 還是原來的的控制器 > 添加一個新角色和用戶 $user = Role::create(['name' => 'root']); $user = User::query()->create([ 'name' => 'white', 'email' => '986247535@qq.com', 'password' => '123456', ]); > ##### 編寫控制器中的方法來生成我們的 Token, 值得注意的是什么? 在 User 我們需要獲取這個模型而不是獲取一個集合或者數組 $user = User::query()->where('name','white')->first(); $token = Auth::guard('blog')->login($user); //這里會返回一個 Token > #### 返回的 TOKEN 如下, 三部分如下 "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9. eyJpc3MiOiJodHRwOlwvXC9sYXJhdmVsLWFuZ3VsYXItYmxvZy50ZXN0XC9ibG9nXC9hdXRoXC9sb2dpbiIsImlhdCI6MTYzMDA1MzI2NiwiZXhwIjoxNjMwMDU2ODY2LCJuYmYiOjE2MzAwNTMyNjYsImp0aSI6InJBN2Z4aFZ5RTh3UE5HZXciLCJzdWIiOjEsInBydiI6IjIzYmQ1Yzg5NDlmNjAwYWRiMzllNzAxYzQwMDg3MmRiN2E1OTc2ZjcifQ. yZaa83ggAIcQlIH0y_od0zw27rrg_fqgulMy3QHMfYg" ### 四、JWT 是如何生成的它具有什么樣的特征
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看