如何改变laravelsanctumreturn"message":"Unauthenticated."
How to change laravel sanctum return "message": "Unauthenticated."
我已经为 API 身份验证集成了 sanctum。如果 token
未经身份验证并使用 laracasts
上的此答案解决了它,我将面临重定向问题
我可能会收到 JSON 这样的回复:
{
"message": "Unauthenticated."
}
我想做的是将此响应处理为:
{
"status_code": 401,
"success":false,
"message": "Unauthenticated."
}
提前致谢^^
如果你在line
查看laravel/sanctum
的源代码
if (! $request->user() || ! $request->user()->currentAccessToken()) {
throw new AuthenticationException;
}
他们使用 AuthenticationException
,因此您可以使用 Rendering Exceptions
覆盖它,方法是在您的 App\Exceptions\Handler
中添加 register 方法,就像这样
use Illuminate\Auth\AuthenticationException;
public function register()
{
$this->renderable(function (AuthenticationException $e, $request) {
if ($request->is('api/*')) {
return response()->json([
'status_code' => 401,
'success' => false,
'message' => 'Unauthenticated.'
], 401);
}
});
}
you cloud 在文档中阅读有关 Rendering Exceptions
的更多信息
我已经为 API 身份验证集成了 sanctum。如果 token
未经身份验证并使用 laracasts
我可能会收到 JSON 这样的回复:
{
"message": "Unauthenticated."
}
我想做的是将此响应处理为:
{
"status_code": 401,
"success":false,
"message": "Unauthenticated."
}
提前致谢^^
如果你在line
查看laravel/sanctum
的源代码
if (! $request->user() || ! $request->user()->currentAccessToken()) {
throw new AuthenticationException;
}
他们使用 AuthenticationException
,因此您可以使用 Rendering Exceptions
覆盖它,方法是在您的 App\Exceptions\Handler
中添加 register 方法,就像这样
use Illuminate\Auth\AuthenticationException;
public function register()
{
$this->renderable(function (AuthenticationException $e, $request) {
if ($request->is('api/*')) {
return response()->json([
'status_code' => 401,
'success' => false,
'message' => 'Unauthenticated.'
], 401);
}
});
}
you cloud 在文档中阅读有关 Rendering Exceptions
的更多信息