Laravel,如何从自定义表的 jwt 令牌获取登录用户

Posted

技术标签:

【中文标题】Laravel,如何从自定义表的 jwt 令牌获取登录用户【英文标题】:Laravel , how to get loggedin user from jwt token of a custom table 【发布时间】:2021-11-29 03:49:43 【问题描述】:

我已经在自定义表中使用 JWT 创建了身份验证。身份验证工作正常,我能够登录并成功生成令牌。问题是无法从自定义表生成的 TOKEN 中获取 'id' 等信息。

    $token = $request->header('Authorization');
    $user = JWTAuth::toUser($token);
    return $user;

返回的信息来自 'user' 表,而不是来自用于 jwt 身份验证的自定义表。 我的配置看起来像

    'providers' => [
    'users' => [
        'driver' => 'eloquent',
        'model' => App\Models\User::class,
    ],

    'partners_credentials' => [
        'driver' => 'eloquent',
        'table' => 'partners_credentials',
        'model' => App\Models\PartnerCredentials::class,
    ],
],

守卫

    'guards' => [
    'web' => [
        'driver' => 'session',
        'provider' => 'users',
    ],

    'partners_credentials' => [
        'driver' => 'session',
        'provider' => 'partners_credentials',
        'hash' => false,
    ],
],

我在这里缺少什么

【问题讨论】:

【参考方案1】:

试试这个方法

$user = JWTAuth::user();

【讨论】:

你能解释一下你的答案吗?肯定不行

以上是关于Laravel,如何从自定义表的 jwt 令牌获取登录用户的主要内容,如果未能解决你的问题,请参考以下文章

如何从 jwt 令牌获取确切的用户以及用户在 laravel 中的确切帖子

使用带有 JWT Auth/Laravel 的 Angular JS 获取新的刷新令牌后,如何恢复/重新发送请求?

使用 JWT 获取令牌而不尝试用户凭据 Laravel?

如何从 laravel 刀片访问 JWT?

Auth0 Laravel 获取 JWT 令牌

如何使用基于 JWT 令牌的 express 获取经过身份验证的用户信息