91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Laravel使用ApiToken認證請求的方法

發布時間:2020-12-15 11:04:57 來源:億速云 閱讀:191 作者:小新 欄目:編程語言

這篇文章將為大家詳細講解有關Laravel使用ApiToken認證請求的方法,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

1.打開 database/migrations/2014_10_12_000000_create_users_table.php 這個 migration 文件, 我們需要更改 user 表的結構

2.我們需要為 user 表添加 api_token 字段, 也就是說我們的 token 是保存在數據庫中的, 在合適的位置, 添加一行

$table->string('api_token', 60)->unique();

3.配置好數據庫, 通過 php artisan migrate 命令生成 user 表

4.在user表中, 隨便添加一條記錄, 只要保證 api_token 這個字段設置為 123456 即可. 這樣我們就生成了一個用戶, 等下就可以 使用 123456 這個token 值來登錄了.

5.返回到 路由文件 routes.php, 在里面添加一條測試路由, 并將其 用 laravel 的中間件保護起來

Route::group(['middleware' => ['auth.api']], function () { 
  Route::get('/t', function () {
      return 'ok';
  });
});

在此處, 使用的是 auth.api 中間件,中間件定義入下圖:

Laravel使用ApiToken認證請求的方法

在Middleware文件創建WebToken.php,然后在Kernel.php文件中注冊該中間件

'auth.api' => \App\Http\Middleware\webToken::class,

6.打開剛剛創建的webToken中間件代碼如下

<?php
namespace App\Http\Middleware;
use Closure;
use Illuminate\Support\Facades\Auth;
class webToken
{
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
        if (Auth::guard('api')->guest()) {
            return response()->json(['code' => 401,'msg' => '未設置token']);
        }
        return $next($request);
    }
}

代碼中的Auth::guard(‘api’)的api是config文件夾里auth.php文件

Laravel使用ApiToken認證請求的方法

Laravel使用ApiToken認證請求的方法

7.做了以上修改之后, 當我們以 /t 這個 url 路徑向服務器直接發起請求時, 服務器就會返回一個 401 錯誤, 并且會返回一條 ‘未設置token’ 這樣的消息, 這也是我們之前在 handle() 方法中設置的. 也就是說 /t 已經被我們的 auth 中間件保護起來了. 如果想要我們的請求能夠正常通過這個中間件, 就要提供 token.

8.由于我們之前在 user 表中添加了一條 api_token 為 123456 的數據, 所以現在我們再次向服務器請求 /t, 但是這次我們加入 api_token, 也就是

…/t?api_token=123456

正常情況下, 服務器就會返回 ‘ok’ 了, 這也就是說明, auth 中間件允許這個請求通過. 而當我們把 123456 修改為其他值時, 這個請求也是無法通過 auth 中間件的.

關于Laravel使用ApiToken認證請求的方法就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

鹤壁市| 安乡县| 商洛市| 鸡东县| 定结县| 兰坪| 黎城县| 广汉市| 芦山县| 平原县| 清流县| 兰考县| 承德县| 雷波县| 蓝山县| 大名县| 禄丰县| 靖江市| 健康| 周口市| 博客| 封开县| 祁连县| 固阳县| 柘荣县| 蒙山县| 加查县| 宜兴市| 吉安市| 丽水市| 扎兰屯市| 兴山县| 嘉祥县| 克拉玛依市| 遵化市| 北辰区| 柯坪县| 灵丘县| 许昌市| 阳曲县| 大渡口区|