Ключи Codeigniter REST API не работают

я использую chriskacerguis / CodeIgniter-restserver создать свой оставшийся сервер API, и я пытаюсь включить ключи API, но они проблема в том, что, хотя я следовал инструкциям, я не могу аутентифицироваться с использованием любого ключа, то есть все запросы проходят, даже если у них нет ключа API Заголовок в запросе.

Это мой текущий конфиг

rest.php

$config['rest_keys_table'] = 'keys';
$config['rest_enable_keys'] = TRUE;
$config['rest_key_column'] = 'api_key';
$config['rest_limits_method'] = 'ROUTED_URL';
$config['rest_key_name'] = 'X-API-KEY';

Моя таблица была создана с использованием следующего SQL-запроса.

CREATE TABLE `keys` (
`id` int(11) NOT NULL,
`user_id` int(11) NOT NULL,
`api_key` varchar(255) NOT NULL,
`level` int(2) NOT NULL,
`ignore_limits` tinyint(1) NOT NULL DEFAULT '0',
`is_private_key` tinyint(1) NOT NULL DEFAULT '0',
`ip_addresses` text,
`date_created` int(11) NOT NULL,
`api_key_activated` enum('yes','no') NOT NULL DEFAULT 'no'
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

INSERT INTO `keys` (`id`, `user_id`, `api_key`, `level`, `ignore_limits`,
`is_private_key`, `ip_addresses`, `date_created`, `api_key_activated`)
VALUES
(1, 1, '1234', 10, 0, 0, NULL, 0, 'no'), (1, 1, '12345', 10, 0, 0, NULL, 0,
'yes')

Проблема в том, что запрос проходит независимо от того, что. Я включил маршруты в моем проекте, это может быть причиной проблемы?

routes.php

$route['api/v1/foo/(:any)'] = 'Api_v1/foo/$1';

5

Решение

Так что я просто посланник, как Крис, уже указать на проблему в REST_Controller.php, просто добавьте

      $this->output->_display();
exit;

В строке 828 файла REST_Controller.php проблема связана с последней версией codeigniter 3 и последней версией chriskacerguis / codeigniter-restserver.

Я боролся с этим весь день. Я просто тестирую решение Криса, и все, кажется, работает нормально.

1

Другие решения

Используйте имя вашей групповой связи

$active_group = 'pdo_mysqli'; /*Local Conetion*/
0

По вопросам рекламы [email protected]