【问题标题】:how to validate jwt token in Laravel thorugh postman如何通过邮递员在 Laravel 中验证 jwt 令牌
【发布时间】:2020-09-03 11:08:13
【问题描述】:

我是 Laravel 的初学者。我已经成功生成了一个 jwt 令牌,我想将此令牌发送到另一个 API,该 API 将对其进行身份验证并发送菜肴的响应。但是我的代码没有验证令牌,即使我发送了错误的令牌也会给我响应。

我该如何解决这个问题?

代码:

class DishController extends Controller
{    
    public function self()
    {
        try{
        $user = Auth->user();
        $dishes =  Dish::all();
    }
    catch(\Tymon\JWTAuth\Exceptions\UserNotDefinedException $e){
        return response()->json(['error' => $e->getMessage()]);
    }

    return response()->json($dishes);    
  }

 }

API 路由

Route::get('/dish/self',[
'as' =>'login.login',
'uses' => 'DishController@self'
]);

【问题讨论】:

  • Tymon\JWTAuth 是一个哑包。我不认为它是 JWT。它基本上是通过提供带有用户 ID 的加密 cookie 来滥用 JWT 概念。然后将该 ID 解析为后端的用户对象。换句话说,您也可以使用会话。
  • 我不懂哑包。请你解释一下
  • 遗憾的是,大多数人并不了解 JWT 的具体情况。我认为该软件包错误地宣传为 JSON Web Token 实现。让我问你一个问题:你为什么使用 JWT?

标签: laravel jwt postman jwt-auth


【解决方案1】:

在你的路由中,你应该提供一个中间件(apiJwt),见下面的代码:

Route::middleware("apiJwt")->get('/dish/self',[
    'as' =>'login.login',
    'uses' => 'DishController@self'
 ])

类似的东西

记住,您应该安装一些软件包,例如 tymon/jwt-auth

【讨论】:

    猜你喜欢
    • 2020-08-20
    • 2015-05-27
    • 2020-07-23
    • 2018-10-16
    • 1970-01-01
    • 2020-05-06
    • 2020-10-12
    • 2017-08-18
    • 1970-01-01
    相关资源
    最近更新 更多