#cakephp #error-handling #unauthorized #cakephp-3.8
#cakephp #обработка ошибок #несанкционированный #cakephp-3.8
Вопрос:
Я реализовал https://github.com/ADmad/cakephp-jwt-auth в моем приложении CakePHP. Моя проблема в том, что всякий раз, когда есть несанкционированный запрос, он отвечает HTML.
<html>
<head>
<meta charset="utf-8"/>
<title>
CakePHP: the rapid development php framework:
Error </title>
<link href="/favicon.ico" type="image/x-icon" rel="icon"/>
<link href="/favicon.ico" type="image/x-icon" rel="shortcut icon"/>
<link rel="stylesheet" href="/css/cake.generic.css"/>
</head>
<body>
<div id="container">
<div id="header">
<h1>
<a href="https://cakephp.org">CakePHP: the rapid development php framework</a>
</h1>
</div>
<div id="content">
<h2>Unauthorized</h2>
<p class="error">
<strong>Error: </strong>
An Internal Error Has Occurred.
</p>
</div>
</div>
</body>
</html>
Но в соответствии с этим руководством https://www.bravo-kernel.com/2015/04/how-to-add-jwt-authentication-to-a-cakephp-3-rest-api /, он ответит с помощью JSON. Пример ответа из руководства
{
"success": false,
"data": {
"message": "You are not authorized to access that location.",
"url": "/api/cocktails.json",
"code": 401
}
}
Это мой маршрутизатор
Router::prefix('api', function ($routes) {
$routes->extensions(['json', 'xml']);
Router::connect('/api/check', ['_method' => 'GET','controller' => 'EmailNotification', 'action' => 'check', 'prefix' => 'api']);
$routes->fallbacks('DashedRoute');
});
Как я могу с этим справиться? Я хочу несанкционированный ответ в формате JSON. Спасибо.
Комментарии:
1. Можете ли вы также опубликовать метод check()?
2. Я использую postman. Проблем с отправкой запросов нет.
Ответ №1:
можете ли вы попробовать отправить свой http-запрос с заголовком Accept:application / json