【问题标题】:JWTAuth::user() returns nullJWTAuth::user() 返回 null
【发布时间】:2021-07-28 12:43:10
【问题描述】:

我对 api 请求使用 Laravel 8 和 JWTAuth 包,经常在尝试使用以下行访问用户信息时,请求会抛出错误:

JWTAuth::user()->id

错误:500 内部服务器错误

ErrorException: Trying to get property 'id' of non-object ...

我可以暂时解决此问题的唯一方法是刷新令牌。 我想知道如果令牌已过期,它应该说令牌已过期,但似乎这里发生了其他事情,我无法弄清楚。

感谢任何帮助!

【问题讨论】:

  • 您尝试过什么来解决问题?你被困在哪里了?
  • 虽然我目前正在使用它,但我正在尝试使用 JWTAuth::parseToken()->authenticate() 和 JWTAuth::toUser(JWTAuth::getToken()) 等一些功能来得到一些线索,这是我到目前为止的地方。一旦我发现有价值的东西,我会更新:) @Nico Hasse
  • 您没有通过身份验证?
  • @Espresso 我明白了,我希望令牌无效或过期之类的消息比此错误。

标签: laravel jwt token


【解决方案1】:

对于面临此问题的其他任何人,使用令牌可以快速创建缓存问题,如果不考虑可能会导致头痛。所以在我的情况下,重置 JWT 密钥解决了这个问题。

php artisan jwt:secret 

也用于清除大部分缓存部分:

php artisan config:clear && php artisan cache:clear && composer dump-autoload && php artisan view:clear && php artisan route:clear && npm cache clean --force

【讨论】:

    猜你喜欢
    • 2016-05-11
    • 2018-02-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-02-04
    • 2017-03-17
    • 1970-01-01
    • 2021-11-26
    相关资源
    最近更新 更多