Kemas kini token tymon/jwt-auth dalam API Laravel
P粉798010441
P粉798010441 2023-08-14 14:35:54
0
2
503
<p>Saya mempunyai API Laravel dan saya telah memasang <code>tymon/jwt-auth</code>. Untuk log masuk pengguna dan mendapatkan token saya menggunakan kod berikut: </p> <pre class="brush:php;toolbar:false;">if (! $token = auth()->attempt($request->only('email', 'password'), true)) { buang Pengecualian Pengesahan::denganMesej([ 'email' => 'Kelayakan Tidak Sah', ]); } kembalikan Sumber Token baharu([ 'token' => $token, 'pengguna' => $pengguna, ]); </pra> <p>Saya juga mempunyai titik akhir untuk <code>token muat semula</code> yang sepatutnya membatalkan token lama dan mengeluarkan yang baharu. Menurut dokumentasi, saya menambah kod berikut: </p> <pre class="brush:php;toolbar:false;">kembali TokenResource baharu([ 'token' => auth()->refresh(), 'pengguna' => auth()->user(), ]); </pra> <p>Masalahnya ialah apabila saya mengakses titik akhir dengan token semasa, ia mengembalikan token baharu, tetapi token lama masih sah. </p> <p>Adakah terdapat cara untuk membatalkan token muat semula? </p>
P粉798010441
P粉798010441

membalas semua(2)
P粉557957970

Ini ialah tingkah laku lalai. Jadi untuk mencapai hasil yang anda inginkan, anda boleh menyenaraihitamkannya. Apabila pengguna cuba menggunakan token, anda boleh menyemak sama ada ia berada dalam senarai hitam. Jika ya, anda boleh menolaknya.

Anda boleh mencapai ini dengan mencipta perisian tengah yang menyemak sama ada token berada dalam senarai hitam dan menggunakan perisian tengah itu pada laluan yang memerlukan pengesahan token.

Perisian tengah:

public function handle($request, Closure $next)
{
    $token = $request->bearerToken();
    
    if (TokenBlacklist::where('token', $token)->exists()) {
        return response()->json(['message' => '令牌已失效'], 401);
    }

    return $next($request);
}

Walau bagaimanapun, anda hanya perlu melakukan ini jika sistem anda benar-benar memerlukannya.

P粉768045522

Anda tidak boleh tamat tempoh token secara manual selepas penciptaan. Beginilah cara token berfungsi. Jika anda mencipta token ia akan sah sehingga ia tamat tempoh, tetapi anda boleh membuat senarai hitam token dan setiap kali anda memuat semula token, tambahkan token pertama pada senarai hitam, juga pertimbangkan untuk menurunkan jangka hayat token (jika cukup rendah), anda boleh bergantung pada mekanisme tamat tempoh automatik.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!