【问题标题】:Laravel 5 JWT issueLaravel 5 JWT 问题
【发布时间】:2016-12-21 04:48:45
【问题描述】:

|嗨,我正在使用 Laravel 5.2 ,试图让 JWT (https://github.com/tymondesigns/jwt-auth) 工作,所以问题是我无法捕获异常,我想发送自定义响应以防出错,但是我没看懂,phpstorm提示命名空间错误Tymon\JWTAuth\**Exceptions**\TokenInvalidException,但是我去vendor文件夹检查命名空间是否正确,代码如下:

    try {

        if (!$user = JWTAuth::parseToken()->authenticate()) {
            return response()->json(['user_not_found'], 404);
        }
    } catch (Tymon\JWTAuth\Exceptions\TokenInvalidException $e) {

        return ['token_invalid'];

    }
    return $user;

所以return ['token_invalid']; 在我丢失令牌时不会执行,它只是在整个屏幕上抛出异常

【问题讨论】:

    标签: php laravel laravel-5 jwt laravel-authorization


    【解决方案1】:

    ops 应该使用 JWTException 作为命名空间,这里是工作代码:

    try {
        if (!$user = JWTAuth::parseToken()->authenticate()) {
            return response()->json(['user_not_found'], 404);
        }
    } catch (JWTException $e) {
        return ['token_invalid'];
    }
    
    return $user;
    

    【讨论】:

      【解决方案2】:

      你忘了backslash

      \Tymon\JWTAuth\Exceptions\JWTException $e
      

      【讨论】:

      • 我想是的。尽管首选类型异常,但您可以使用 \Exception 来捕获异常。
      猜你喜欢
      • 2018-03-22
      • 2018-03-30
      • 2016-01-03
      • 1970-01-01
      • 2016-04-24
      • 2015-05-29
      • 1970-01-01
      • 2017-02-13
      • 2015-10-12
      相关资源
      最近更新 更多