Don Djoe Don Djoe - 4 days ago 4
PHP Question

Laravel Dingo JWT

I am currently coding an API in Laravel with Dingo and JWT as its authentication

It works fine, and I have set Dingo config to

protected
, so a valid JWT token will always need to be there, otherwise it will fail with 401 error. Again it works fine.

The question is .. how can I customise the error message? At the moment it shows like this

{
message: "JWT has expired",
status_code: 401,
debug: { "..."
}
}


At minimum I want to get "JWT has expired" changed to a custom text, either from JWT or Dingo but of course if it can be customised further, it would be great.

Any advice? Thanks

Answer

I found a solution

By creating my own provider (or rather extending the default FirebaseProvider) and set the config to use the custom provider

The default is

'provider' => 'Tymon\JWTAuth\Providers\FirebaseProvider'

changed to

'provider' => 'CustomPackages\Providers\MyFirebaseProvider'

I agree that this solution may not be the most elegant way. But it works and I am happy to hear about other solution

Comments