laravel-s icon indicating copy to clipboard operation
laravel-s copied to clipboard

JWT $request->user(guard) 运行一段时间后 获取值为null。已添加清理器。

Open pleaseyang opened this issue 3 years ago • 5 comments

  1. Your software version (Screenshot of your startup)

    Software Version
    PHP 8.1.1
    Swoole 4.8.5
    Laravel/Lumen 9.23.0
    Laravels 3.7.33
  2. Detail description about this issue(error/log)

    laravels start 后,运行一段时间,接口请求时间 < 1s后。 $request->user(guard) 获取为 null

  3. Some reproducible code blocks and steps

1 2 3 4

pleaseyang avatar Aug 17 '22 07:08 pleaseyang

@hhxsv5

image

Same trouble without cleaners and with default guard (session)

Route::get('/user', function (\Illuminate\Http\Request $request) {
    return response()->json($request->user());
});

Returns user only for first request after start or reload

Route::get('/user', function (\Illuminate\Http\Request $request) {
    return response()->json(\Illuminate\Support\Facades\Auth::user());
});

Work correctly, but many packages and me too use User from request

SVV-team avatar Oct 11 '22 15:10 SVV-team

@hhxsv5 @pleaseyang maybe trouble with request user resolver ?

Temp solution Resolve user on each request (middleware)

$request->setUserResolver(
    fn() => \Illuminate\Support\Facades\Auth::user()
);

Something like this work good, but maybe its dangerous

SVV-team avatar Oct 11 '22 16:10 SVV-team

同问,还是不行

killjin avatar Nov 20 '22 11:11 killjin

这是来自QQ邮箱的假期自动回复邮件。你好,我最近正在休假中,无法亲自回复你的邮件。我将在假期结束后,尽快给你回复。

uptonyuan avatar Nov 20 '22 11:11 uptonyuan

auth:user 就没事,很奇怪

killjin avatar Nov 20 '22 14:11 killjin