Нужна ли авторизация (не явная) в API на php?

145
28 августа 2019, 04:30

Передо мной поставили задачу. Написать на API к простому приложению на php реализованного по паттерну MVC и без применения какого-либо frameworks. Реализовал я его так:

  • Добавил контроллер - ApiController;
  • Добавил модель - Api;
  • Добавил маршруты /api/Equipments, /api/Personal, /api/AddProject;

Далее я функцией file_get_contents() получаю входящие данные:

$inputJSON = file_get_contents("php://input");

А теперь вопрос. Правильно ли передавать в JSON логин, пароль (не хэш) и токен чтобы потом отдать данные которые относятся только к этому пользователю?

Пример проверки:

if(!array_key_exists('login', $user) || empty($user['login'])) throw new Exception('отсутствует или пуст ключ login');
if(!array_key_exists('password', $user) || empty($user['password'])) throw new Exception('отсутствует или пуст ключ password');
if(!array_key_exists('token', $user) || empty($user['token'])) throw new Exception('отсутствует или пуст ключ token');

Пример JSON:

{
   "login":"test",
   "password":"test1542",
   "token":"905bde212dcb5f2bb146f5d653166cd1"
}

Всё реализовано без использования Json Web Token OAuth2. Отсутствие данных технологий сильная дыра в безопасности?

READ ALSO
Ошибка при установке Bitrix на Open Server

Ошибка при установке Bitrix на Open Server

Устанавливаю "Управление сайтом" и на 6 этапе "Установка модуля "Сайты 24" (файлы)" error

112
Как правильно спарсить элемент в simple_html_dom

Как правильно спарсить элемент в simple_html_dom

Пытаюсь спарсить цену с сайта (по class="detail-price-uah"), но она грузится не на все указанные товары, то есть к одним товарам грузится к другим нетИ...

116
sort и двумерный массив

sort и двумерный массив

Вот двумерный массив:

151
Проблема с разбитием строки

Проблема с разбитием строки

Вроде бы изначально казалось что простое задание, но почему-то не получается добиться оптимального результата

118