Как защитить RESTfull API от стороннего подключения?

Есть небольшое ВЕБ-приложение на JS, которое передает/получает json от API сервера. И в ходе работы возник достаточно наивный вопрос, какими же методами можно защитить:
- JS-скрипт от чтения (перелопатил кучу материала, гуглом пользоваться умею).
- Самое главное, обмен данными между клиентом и сервером (не шифрование протокола). Зная структуру передаваемых и получаемых данных - можно написать свой клиент и подключиться к API, вот этот момент надо пресечь.

Пока остановился на мысли о генерации временного API-key для каждого клиента на стороне сервера + привязка к сессии. Но опять же механизм запроса такого ключа можно скопировать и повторить. Надо что-то забористое и заковыристое.

Понимаю, что вопрос на уровне "три зеленых свистка вверх", но все же хотелось бы получить советов, в какую сторону копать?

З.Ы. И да, к сожалению простейшее решение проблемы в виде "используй связку логин/пароль для доступа к приложению", не подойдет. Данные свободно принимаются и передаются, авторизация производится - по желанию пользователя.
  • Вопрос задан
  • 552 просмотра
Решения вопроса 1
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
1. Версия клиента (зашитая в JS клиент) и токен-генерация (md5cram hmac с формулой на основе версии клиента)
2. JS-обфускация.
3. Периодическое обновление кода клиента.
Больше - ничего не спасёт особо.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
miraage
@miraage
Старый прогер
oauth/jwt/сессии.
Куча вариантов.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы