zhitoo/jwt

Laravel jwt 包

v1.0.1 2024-05-13 06:22 UTC

This package is auto-updated.

Last update: 2024-09-13 07:11:30 UTC


README

此包为基于JWT的授权API添加了一个新的驱动器

如何使用它?

composer require zhitoo/jwt

安装此包后

    php artisan vendor:publish Zhitoo\Jwt\JWTServiceProvider
    php artisan jwt:secret

转到 User 模型

use Zhitoo\Jwt\HasApiTokens;
.
.
.
use HasApiTokens

将 auth:jwt 添加到你的路由中间件,如下所示

Route::middleware('auth:jwt')->get('/user', function (Request $request) {
    return $request->user();
});

登录使用 createToken 方法为当前登录用户创建新的 jwt 令牌

Route::post('/login', function (Request $request) {
    $email = $request->input('email');
    $password = $request->input('password');
    if (\Illuminate\Support\Facades\Auth::attempt(['email' => $email, 'password' => $password])) {
        return response()->json(['ok' => true, 'token' => $request->user()->createToken()]);
    }
    abort(401);
});

注销使用 revokeAccessToken 方法

Route::middleware('auth:jwt')->post('/logout', function () {
    if (method_exists(auth()->user(), 'revokeAccessToken')) {
        auth()->user()->revokeAccessToken();
    }
    return response()->json(['ok' => true]);

});