• Как изменить поведение BjyAuthorize для работы с REST API (HTTP методами, RestfulController)?

    config/module.config.php
    return [
        'router' => [
            'routers' => [
                'api-login' => [ // REST
                    'type' => 'Literal',
                    'options' => [
                        'route' => '/api/login',
                        'defaults' => [
                            'controller' => 'YourModule\Controller\Login'
                        ],
                    ],
                ],
                'login' => [
                    'type' => 'Literal',
                    'options' => [
                        'route' => '/login',
                        'defaults' => [
                            'controller' => 'YourModule\Controller\Login'
                            'action' => 'login',
                        ],
                    ],
                ],
            ],
        ],
        'view_manager' => [
            'strategies' => [
                'ViewJsonStrategy',
            ],
        ],
        'controllers' => [
            'invokables' => [
                'YourModule\Controller\Login' => 'YourModule\Controller\LoginController',
            ],
        ],
    ];

    src/YourModule/Controller/LoginController.php
    class LoginController extends AbstractRestfulController {
        public function create($data) {
            // POST данные пришедшие по REST
            return new JsonModel(['status' => 'error', 'message' => 'Логин и/или пароль указан не верно.']);
        }
    
        public function getList() {
            // GET данные без id
            return new JsonModel(['item1', 'item2', 'item3']);
        }
    
        public function loginAction() {
            // обычный Action
            return new ViewModel();
        }
    }


    следует обратить внимание на то, что:
    • Контроллер унаследован от AbstractRestfulController
    • В конфиге указана стратегия ViewJsonStrategy
    Ответ написан