Laravel Jwt Lcobucci\JWT\Token\Builder::relatedTo(): Argument #1 ($subject) must be of type string,

Laravel使用JWT生成token报错relatedTo()

本人新手小白,自己尝试了好几天跟着教程走一直有这个报错,上网上直接搜没有相关的解决办法,后来上了JWT的github搜issue,发现了方法,属实是无语了。

教程链接:https://learnku.com/articles/10885/full-use-of-jwt
(教程是个很好的教程,是我比较菜了QAQ)
JWT github解决方法:https://github.com/PHP-Open-Source-Saver/jwt-auth/issues/115

简单来说就是你的数据库用户表的id字段不是叫id的话就要改一下
我的模型是这个,自己根据自己的模型改
App/Models/User.php

    public function getJWTCustomClaims()
    {
        return [ 'sub' => $this->uid  ?? '',];//我的id字段是uid,如果你是user_id就改成user_id
//        return [];//原本根据教程是这个
    }

最后运行一下发现返回token了

{
	"access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOi8vMTI3LjAuMC4xOjgwMDAvYXBpL2F1dGgvbG9naW4iLCJpYXQiOjE2ODUyNTE0ODAsImV4cCI6MTY4NTI1NTA4MCwibmJmIjoxNjg1MjUxNDgwLCJqdGkiOiJwS2VyazNuZ1R0VWhBaHVCIiwic3ViIjoiMiIsInBydiI6IjIzYmQ1Yzg5NDlmNjAwYWRiMzllNzAxYzQwMDg3MmRiN2E1OTc2ZjcifQ.9WWKtxmQoi8JpmYtVk_4BMc5gNBQ8m61OkNAjxnDdMA",
	"token_type": "bearer",
	"expires_in": 3600
}

希望能帮到同样面对这个问题的人

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
封装lcobucci/jwt库是为了在Laravel 5.8项目中使用JWT(JSON Web Token)进行身份验证和授权。下面是一个简单的封装示例代码: 首先,在项目中安装lcobucci/jwt库,可以通过composer命令来进行安装: ```shell $ composer require lcobucci/jwt "^3.4" ``` 然后,创建一个TestController类,并引入必要的命名空间和类: ```php <?php namespace App\Http\Controllers; use App\Tools\Service; use Illuminate\Http\Request; class TestController extends Controller { public function token() { // 生成token $token = Service::createToken(); // 验证token try { Service::validationToken($token); $json = [ "code" => 200, "message" => "Token验证通过", "success" => "ok" ]; return $json; } catch(\Exception $exception) { var_dump($exception->getMessage()); } } } ``` 在上述代码中,首先生成了一个token,然后通过Service::validationToken()方法来验证token的有效性。如果验证通过,返回一个包含成功信息的JSON数据,否则输出异常信息。 这样,你就可以在Laravel 5.8中使用lcobucci/jwt库进行JWT的封装和使用了。<span class="em">1</span> #### 引用[.reference_title] - *1* [laravellcobucci/jwt](https://blog.csdn.net/weiguang102/article/details/120169317)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值