У меня есть служба REST, которая достаточно полная и будет использоваться с iOS-приложением. Он построен с использованием Ruby/Sinatra, но я не думаю, что это действительно важно.
Я использую HTTP Basic Authentication over SSL для различных конечных точек, и эта часть работает очень хорошо.
Вопрос: Как остановить спамеры и т.д. От вызова частей службы REST, которые не защищены через HTTP Basic Authentication?
Пример: Регистрация пользователя
Предположим, что вызов REST (POST) .../register_account передаёт объект JSON в теле.
По понятным причинам этот вызов не может ожидать имя пользователя/пароль, связанные с учетной записью пользователя.
Идеи:
1) Приложение имеет свое "имя пользователя" /пароль, и некоторые вызовы будут проверять наличие учетных записей приложений. Проблема. Коррекция устройства и т.д. Может выявить эти учетные данные.
2) Приложение передает секретный токен через HTTP-заголовок в службу REST для этих вызовов. Проблема: То же, что (1)
Существуют ли какие-либо методы, обычно используемые для предотвращения подобных спам-звонков? Я думаю, может быть, представила идентификатор устройства iPhone в миксе, но пока не определил определенный подход.
Спасибо