如何更改拉拉维尔圣所返回"message":"Unauthenticated."



我集成了用于API身份验证的santum。如果token未经验证,我将面临重定向问题,并在laracasts 上使用此答案解决了此问题

我可以得到一个JSON响应,比如:

{
"message": "Unauthenticated."
}

我试图做的是将这种响应处理为类似于:

{
"status_code": 401,
"success":false,
"message": "Unauthenticated."
}

提前感谢^^

如果您在这一行检查laravel/sanctum的源代码

if (! $request->user() || ! $request->user()->currentAccessToken()) {
throw new AuthenticationException;
}

他们使用AuthenticationException,所以你可以通过在AppExceptionsHandler中添加注册方法(如(来使用Rendering Exceptions覆盖它

use IlluminateAuthAuthenticationException;
public function register()
{
$this->renderable(function (AuthenticationException $e, $request) {
if ($request->is('api/*')) {
return response()->json([
'status_code' => 401,
'success' => false,
'message' => 'Unauthenticated.'
], 401);
}
});
}

您可以在文档中阅读更多关于Rendering Exceptions的内容

最新更新