Здравствуйте. Такая ситуация. Использую
библиотеку для rest full api. Конфиг такой(убрал комментарии для краткости):
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
$config['force_https'] = FALSE;
$config['rest_default_format'] = 'json';
$config['rest_supported_formats'] = [
'json',
'array',
'csv',
'html',
'jsonp',
'php',
'serialized',
'xml',
];
$config['rest_status_field_name'] = 'status';
$config['rest_message_field_name'] = 'error';
$config['enable_emulate_request'] = TRUE;
$config['rest_realm'] = 'API';
$config['rest_auth'] = FALSE;
$config['auth_source'] = '';
$config['auth_library_class'] = '';
$config['auth_library_function'] = '';
$config['rest_valid_logins'] = [];
$config['rest_ip_whitelist_enabled'] = FALSE;
$config['rest_ip_whitelist'] = '';
$config['rest_ip_blacklist_enabled'] = FALSE;
$config['rest_ip_blacklist'] = '';
$config['rest_database_group'] = 'default';
$config['rest_keys_table'] = 'apps_api_keys';
$config['rest_enable_keys'] = TRUE;
$config['rest_key_column'] = 'key';
$config['rest_limits_method'] = 'ROUTED_URL';
$config['rest_key_length'] = 40;
$config['rest_key_name'] = 'X-API-KEY';
$config['rest_enable_logging'] = TRUE;
$config['rest_logs_table'] = 'apps_api_logs';
$config['rest_enable_access'] = TRUE;
$config['rest_access_table'] = 'apps_api_access';
$config['rest_logs_json_params'] = TRUE;
$config['rest_enable_limits'] = FALSE;
$config['rest_limits_table'] = 'apps_api_limits';
$config['rest_ignore_http_accept'] = FALSE;
$config['rest_ajax_only'] = FALSE;
$config['rest_language'] = 'english';
Теперь вопрос к авторизации. Как авторизовываться, используя созданный в базе ключ для доступа к API?
Например, обращаясь на класс Key.php (для создания ключа), ключ требуется, но если посылаю в заголовках ключ, говорит, что его не существует. Обращаясь просто на контроллеры api, вообще никакой ключ не просит. Что я не понимаю?
Еще немного странностей.
Если делаю ключ приватным, вывод такой:
{"status":false,"error":"Invalid API key sckogwg0g8gosgwk8wgscw4kg000gc0w088w48s8"}
Если ключ не приватный, то:
{"status":false,"error":"This API key does not have access to the requested controller"}
Грешу на то, что та либа не умеет вложенные папки. Ибо разложил классы апи по папкам.
Заранее спасибо. Надеюсь, еще остались бородачи, использующие эту древность.