Задать вопрос
ivanvorobei
@ivanvorobei
iOS разработчик, канал https://t.me/sparrowcode

Как защитить REST API от невалидных запросов?

Имею:
  • Rest API на Lumen
  • Соединение по httpS
  • Basic авторизацию: Отправляется в хедаре login+password, в ответ приходит JWT c acsess_token (для каждого запроса с малым временем жизни) и refresh_token (для получения нового acsess_token)


Необходимо:
Реализовать архитектуру валидации запроса. Т.е. чтобы знать что запрос пришел именно от "своего" клиента (под клиентом я подразумеваю мобильное приложение). Чтобы ручками в браузере школьники не могли посылать запросы) Получается запрос от клиента должен быть идетицифирован по двум пунктам:
  1. Запрос пришел от валидного клиента
  2. Запрос пришел от валидного пользователя


Можно было...:
Идея была сделать два заголовка в хедаре, и передавать в них два токена: один выдан клиенту, второй выдан пользователю. Но два нельзя, а в url передавать - костыль.
UPD: Можно и два заголовка, распарсить их не проблема. Но нормальное ли это решение?
b2542ce1c12d49a2ae78cf3c4a587a0b.png

Итог:
Как сделать без костылей валидацию клиента?
  • Вопрос задан
  • 786 просмотров
Подписаться 3 Оценить 3 комментария
Ответ пользователя Airat1995 К ответам на вопрос (2)
@Airat1995
Студент
Возможно использовать IMEI телефона для того, чтобы проверять телефон ли это. Вот здесь есть база IMEI'ов и API к нему www.imei.info/api/imei/docs Однако существуют программы для замены IMEI, а также для его генерации.
Ответ написан