Задача
Доработать Open Source продукт RadiusDesk (PHP CakePHP, JS) для реализации авторизации пользователей через вызов с мобильного телефона. В продукте уже есть базовая регистрация и авторизация на точках доступа (Captive Portal).
Что нужно сделать
- Доработать форму редактирования страницы логина (Captive Portal) - добавить опцию "Авторизация по номеру телефона".
- Доработать отображение страницы логина - кнопка "Подтвердить" должна отправлять номер телефона в формате ожидания звонка.
- Реализовать генерацию обратного звонка: система отображает номер, с которого нужно совершить вызов для верификации.
- Создать или доработать скрипт-обработчик (endpoint) для принятия GET/POST-запросов от сервера Asterisk. Обработчик должен принимать номер телефона звонящего и секретный ключ для активации пользователя в сети.
- Если необходимо, внести изменения в структуру MySQL базы данных (например, добавить поля для хранения временных кодов или статусов верификации).
Формат запроса от Asterisk
- GET/POST-запрос на указанный endpoint.
- Параметры:
phone (номер звонящего), secret (секретный ключ). - Формат передается в теле или URL - уточняется с заказчиком.
Базовые требования
- Фреймворк: CakePHP (версия 4.x) и JavaScript.
- Код должен быть консистентным стилю текущего проекта.
- Дать описание структуры таблиц БД (если добавляете новые поля).
Ссылки на документацию и репозиторий проекта предоставлю после старта работы. Имена компаний, сторонних сайтов и телефоны предварительно удалены из постановки.