Laravel - 无法捕获Tymon JWT TokenInvalidException

时间:2017-08-02 09:43:06

标签: php laravel-5 exception-handling jwt

我正在使用Laravel 5.4框架创建API。但是,当我输入错误的令牌时,使用JWT令牌,我无法捕获InvalidTokenException。请参阅我的代码和建议。谢谢!

class MySetPasswordForm(SetPasswordForm):
    error_messages = {
        'password_mismatch': _("Missmatch!"),  
        'required': _("Please enter a password"),  # If you do not require the fieldname in the error message
    }

    def __init__(self, *args, **kwargs):
        super(MySetPasswordForm, self).__init__(*args, **kwargs)
        self.fields['new_password1'].error_messages['required'] = _("enter pass1!")

1 个答案:

答案 0 :(得分:0)

它可能会抛出一个与你想要抓住的异常不同的例外。 尝试使用任何异常捕获它,看看是否有效。如果是这样,名称空间很可能是不正确的。

  $token = $request->token;
  try{
      $user = JWTAuth::toUser($token);
  }catch(\Exception $e){    
    $error = 'Invalid token';
    return response()->json(compact('error'));
  }