Неопределенный индекс X-Api-Key в торт php - PullRequest
0 голосов
/ 15 октября 2018

Я пытаюсь опубликовать некоторые данные в формате json и передаю 'X-Api-Key' в качестве ключа заголовка.Но мой код всегда дает уведомление о неопределенном индексе x-api-key.И никаких данных не сохраняется.Я использую торт php 2.x Вот мой код php

    public function checkXAPI() {

        $headers = apache_request_headers();
        //X-Api-key unidentified
        if($headers['X-Api-Key'] == 'AB5433GMDF657VBB'){
            return true;
        } else {
            return true;
        }
    }



public function beforeFilter(){

    $this->Auth->Allow(array('checkXAPI','Registerowner'));

    $headersNotAllowed = array('login', 'checkXAPI', 'register');

    $noSecurityAllowed = array('register');
    if(!in_array($this->request->action, $noSecurityAllowed)){
        $checkXAPI = $this->checkXAPI();
        if (!$checkXAPI) {
            $message = array(
                'status' => false,
                'message' => __('wrong X-API')
            );
            echo json_encode($message);
            exit;
        } else {
            $headers = apache_request_headers();
            if(!in_array($this->request->action, $headersNotAllowed)){

                if (isset($headers['Id'])) {
                    $checkUserToken = $this->checkUserToken();
                    if (!$checkUserToken) {
                        $message = array(
                            'status' => false,
                            'message' => __('wrong User ID and User token combination')
                        );
                        echo json_encode($message);
                        exit;
                    }
                }  
            }  
    }


    }

} 

1 Ответ

0 голосов
/ 15 октября 2018

Используйте $this->request->header('X-Api-Key') вместо:

public function checkXAPI() {
    return $this->request->header('X-Api-Key') === 'AB5433GMDF657VBB';
}
...