通过 sanctum 令牌获取用户

get user by sanctum token

我有一个像 1|bTNlKViqCkCsOJOXWbtNASDKF7SyHwzHOPLNH 这样的令牌,我想通过这个令牌找到用户。

注意:我无法在特定控制器中使用 auth()->user。提前致谢

Laravel sanctum 使用多态关系。因此,您需要 read the documentation 了解如何检索该关系中的数据。是这样的。

use Laravel\Sanctum\PersonalAccessToken;

$token = PersonalAccessToken::where(...);
$user = $token->tokenable;

以下代码将转换个人令牌和 return 用户:

use Laravel\Sanctum\PersonalAccessToken;

$bearerToken = "1|bTNlKViqCkCsOJOXWbtNASDKF7SyHwzHOPLNH";

$token = PersonalAccessToken::findToken($bearerToken);

if (!$token) {
    dd("Error: Token not found");
}

$user = $token->tokenable;