简体   繁体   English

我只想在codeigniter的标头中缺少令牌字段时返回JSON错误响应

[英]I just want to return JSON error response when ever the token field is missing in headers in codeigniter

Just simply want whenever my Api is called if token is missing it should return a json response that "Token is required" i'm getting the token in headers let me explain it with sample code: 只是只要想在缺少令牌的情况下调用我的Api时,它应该返回一个json响应,提示“令牌是必需的”。

$headers = apache_request_headers();
$token = $headers['User-Token'];
if(isset($token)){
  $user_details = $this->user_basic_model->get_user_by_token($token);
  if (!empty($user_details))
  {
   $data = $this->fare_model->get_all_fare();

   if (empty($data)) {
       $arr = array('msg' => 'Error!', 'status_code' => 404);
       echo json_encode($arr);
    } 
   else {
       $success_array = array('msg' => 'Success!', 'status_code' => 200);
       echo json_encode(array_merge($data, $success_array));
      }
  }
  else
  {
   $arr = array('success' => 'false', 'msg' => 'Unauthorize Request', 
   'status_code' => 401);
   echo json_encode($arr);
  }
 }
 else
  {
   $arr = array('success' => 'false', 'msg' => 'Token is required', 
   'status_code' => 401);
   echo json_encode($arr);
  }

in this case when i don't send User-Token field in headers using postman i got the response properly but with that response i'm getting an error of undefined index "User-token" i don't want this error to be shown 在这种情况下,当我没有使用邮递员在标头中发送User-Token字段时,我会正确地获得响应,但由于该响应,我收到了未定义索引“ User-token”的错误,我不希望显示此错误

just modify your code little bit. 只需稍微修改一下代码即可。

if (isset($headers['User-Token'])) {
    $token = $headers['User-Token'];
    if (empty($token)) {
        //your code
    } else {
        $arr = array('success' => 'false', 'msg' => 'Token is required',
            'status_code' => 401);
        echo json_encode($arr);
        exit();
    }
} else {
    $arr = array('success' => 'false', 'msg' => 'Token is required',
        'status_code' => 401);
    echo json_encode($arr);
    exit();
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 如果我不想做作曲家更新怎么办,我只想在composer.json和composer.lock中使用它。 - What if I don't want to do composer update, I just want to use what ever in composer.json and composer.lock 如何在JSON中返回响应 - Codeigniter - How to return response in JSON - Codeigniter CodeIgniter在JSON响应中返回HTML - CodeIgniter Return HTML in JSON Response 当我在 concat 或 group_concat 中使用 select 并且我想以 JSON 的形式返回它们时,我的查询很慢。 我怎样才能让它更快? - My query is slow when ever I select inside concat or group_concat and I want to return them in form of JSON. how can I make it faster? 当我想要CodeIgniter错误时出现PHP错误 - Getting a PHP error when I want a CodeIgniter error CodeIgniter - 如何从控制器返回 Json 响应 - CodeIgniter - How to return Json response from controller 错误json响应中的意外令牌&lt; - error Unexpected token < in json response 如何在 php 中发送 json 响应时删除响应标头? - How to remove response headers when sending a json response in php? 我想在 Android 中发送一个键值并作为回报得到一个 JSON 数组但没有得到响应 - I want to send a key value in Android and in return get a JSON array but getting no response 我想用 codeigniter 中的登录时间更新 jwt 令牌 - I want to update jwt token with login time in codeigniter
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM