Всі налаштування бандла знаходяться в файлі config/packages/ufo_json_rpc.yaml.
Є можливість налаштувати параметри захисту API та деякі параметри формату даних, що віддається при запиті документації.
security
Наразі єдиним механізмом захисту доступу до вашого API є встановлення перевірки ключа доступу (api_token).
protected_methods
Цей параметр приймає масив назв http методів, які мають бути захищені.
За замовченням ввімкнут захист лише для методу POST. Ви можете:
- вказати пустий масив [] щоб зробити API повністю відкритим
ufo_json_rpc:
security:
protected_methods: []
- вказати додатково захист для методу GET, що зробить запит документації недоступним без токену в заголовках запиту
ufo_json_rpc:
security:
protected_methods: ['GET', 'POST']
protected_methods, вам необхідно налаштувати токени, по яким буде відкритий доступ.
Якщо ви захищаєте ваш API черезПерш за все, треба визначитися з назвою токену.
token_key_in_header
Компонент RpcSecurity буде шукати в заголовках запиту специфічний ключ, який ви можете встановити в налаштуваннях пакету, значення за замовченням token_key_in_header: 'Ufo-RPC-Token', ви можете встановити будь-яке інше значення яке відповідає умовам формування заголовків протоколу HTTP
Розглянемо варіант що у вас
ufo_json_rpc:
security:
protected_methods: ['GET', 'POST'] # protection of GET and POST requests
token_key_in_header: 'Ufo-RPC-Token' # Name of the key in the header
clients_tokens:
- 'ClientTokenExample' # hardcoded token example. Importantly!!! Replace or delete it!
- '%env(resolve:UFO_API_TOKEN)%e' # token example from .env.local