Laravel 8 閉包請求看守器

2021-07-17 17:18 更新

實現(xiàn)基于 HTTP 請求的自定義身份驗證系統(tǒng)的最簡單方法,是使用 Auth::viaRequest 方法。此方法允許您使用單個閉包來快速定義身份驗證過程。

首先,在 AuthServiceProviderboot 方法中調(diào)用 Auth::viaRequest 方法。viaRequest 方法接受一個看守器名稱作為其第一個參數(shù)。此名稱可以是描述你自定義看守器的任何字符串。傳遞給該方法的第二個參數(shù)應(yīng)該是一個閉包函數(shù),它接收傳入的 HTTP 請求并返回一個用戶實例,或者,如果驗證失敗,則為 null

use App\Models\User;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;

/**
 * 注冊任意應(yīng)用認(rèn)證/授權(quán)服務(wù)
 *
 * @return void
 */
public function boot()
{
    $this->registerPolicies();

    Auth::viaRequest('custom-token', function ($request) {
        return User::where('token', $request->token)->first();
    });
} 

當(dāng)你完成了自定義看守器后,就可以在 auth.php 配置文件的 guards 配置中使用這個看守器:

'guards' => [
    'api' => [
        'driver' => 'custom-token',
    ],
], 


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號