Конфигурация хранилища для OAuth2 отсутствует, когда для config_cache_enabled установлено значение true

Я использую zf2 apigility в своем веб-приложении. С производственным режимом, если config_cache_enabled является true в config/application.config.phpЯ получаю это сообщение об ошибке при запросе access_token:

Конфигурация хранилища для OAuth2 отсутствует

Если я установлю его на falseЯ получил свой токен доступа.

Так что моя проблема в том, чтобы иметь config_cache_enabled установлен в true и успешный запрос на получение токена доступа в производственном режиме благодаря лучшей производительности при кэшировании конфигурации. Как это сделать ?

Это мое zf-mvc-auth конфигурация:

'zf-mvc-auth' => array(
'authentication' => array(
'adapters' => array(
'CustomStorage' => array(
'adapter' => 'ZF\\MvcAuth\\Authentication\\OAuth2Adapter',
'storage' => array(
'storage' => 'Application\\Adapter\\OAuth\\CustomPdoAdapter',
'route' => '/oauth',
),
),
),
),
),

Это мой oauth2.local.php:

'zf-oauth2' => array(
'db' => array(
'dsn'      => 'mysql:dbname=mydatabase;host=localhost',
'username' => 'root',
'password' => '',
),
'allow_implicit' => true,
'access_lifetime' => 3600,
'enforce_state'  => true,
'storage'        => 'Application\Adapter\OAuth\CustomPdoAdapter',
'storage_settings' => array(
'user_table' => 'users',
),
'options' => array(
'always_issue_new_refresh_token' => true,
),
),

Я думаю, что это хорошо настроено.

0

Решение

Вы установили свой zf-mvc-auth правильно. В module.config.php Вы можете прочитать, что вы должны определить ключ хранения. Там же написано как ты можешь это сделать:

Чтобы указать экземпляр хранилища, вы можете использовать один из двух подходов:

  • Укажите подраздел «хранилище», указывающий на именованный сервис или массив
    именованных сервисов для использования.
  • Укажите подраздел «адаптер» со значением «pdo» или «mongo», и
    включить дополнительные подразделы для настройки ZF \ OAuth2 \ Adapter \ PdoAdapter
    или ZF \ OAuth2 \ Adapter \ MongoAdapter, соответственно. Смотрите zf-oauth2
    документация для деталей.
0

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

Если вы находитесь в производственном режиме и «config_cache_enabled» это правда, вам нужно удалить файлы на data/cache папка

0