我集成了用于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
的内容