У нас тут дискуссия с разработчиками приложений. Бэкэнд слабый, усилить его пока нет возможности. Я им рекомендовал уменьшить количество запросов, чтобы клиент не тормозил. Говорю, если, не дай бог, будет наплыв левых клиентов, то их приложения встанут раком. Они говорят, давай разрешим запросы только нашим приложениям. Я пытаюсь объяснить, что в общем случае это невозможно, поскольку все клиенты анонимные. Да и возни много, не стоит на это тратить время. Они не верят.
Я ничего хорошего не нагуглил, вот и спрашиваю.
Начинать сессию пользователя генерацией идентификатора сессии (отбивая неавторизованных пользователей, если есть такая авторизация), дальше по ходу общения с бэкендом первым делом авторизовать запрос по этому идентификатору. Идентификаторы можно кэшировать - т.е. в случае прикладной DOS атаки она максимум (кроме нагрузки на канал) будет нагружать кэш. Как написали выше, клиентов можно тоже авторизовывать, только это зависит от бизнес-логики.