自定义 laravel 密室取消授权响应
Customize laravel sanctum unauthorize response
我在我的项目中使用 laravel sanctum,但我遇到了问题。我想在令牌无效时将 401 响应代码(未授权)自定义为 return a JSON,如下所示:
{
"data": {
"code": 401,
"book": null,
"success": false,
"error": {
"message": "Not authenticated"
}
}
}
而不是默认响应:
{
"message": "Unauthenticated."
}
如何在 laravel 密室中做到这一点?提前致谢。
您可以覆盖 Authenticate.php 中间件以输出您想要的消息,或者捕获 AuthorizationException 以在 Exception/Handler
中显示您想要的消息
public function render($request, Exception $exception)
{
if ($exception instanceof AuthorizationException) {
return response()->json([
'message' => 'Not authenticated'
],401);
}
return parent::render($request, $exception);
}
添加到ExceptionHandler@register
app/Exceptions/ExceptionHandler.php
$this->renderable(function (\Illuminate\Auth\AuthenticationException $e, $request) {
if ($request->is('api/*')) {
return response()->json([
'message' => 'Not authenticated'
], 401);
}
});
我在我的项目中使用 laravel sanctum,但我遇到了问题。我想在令牌无效时将 401 响应代码(未授权)自定义为 return a JSON,如下所示:
{
"data": {
"code": 401,
"book": null,
"success": false,
"error": {
"message": "Not authenticated"
}
}
}
而不是默认响应:
{
"message": "Unauthenticated."
}
如何在 laravel 密室中做到这一点?提前致谢。
您可以覆盖 Authenticate.php 中间件以输出您想要的消息,或者捕获 AuthorizationException 以在 Exception/Handler
中显示您想要的消息public function render($request, Exception $exception)
{
if ($exception instanceof AuthorizationException) {
return response()->json([
'message' => 'Not authenticated'
],401);
}
return parent::render($request, $exception);
}
添加到ExceptionHandler@register
app/Exceptions/ExceptionHandler.php
$this->renderable(function (\Illuminate\Auth\AuthenticationException $e, $request) {
if ($request->is('api/*')) {
return response()->json([
'message' => 'Not authenticated'
], 401);
}
});