Я занимаюсь разработкой сайта социальной сети.Этот сервис будет доступен для различных сред, например: для Интернета, iPhone, приложения Facebook и т. Д.
Моя идея для этого приложения состояла в том, чтобы все эти свойства взаимодействовали с одной центральной точкой для извлечения и сохранения данных:API.Мои различные приложения будут затем взаимодействовать с этим API, отправляя запрос GET
для получения некоторых данных;POST
запрос на предоставление некоторых данных;DELETE
запросов и т. Д.
Этот API будет доступен через Интернет, поэтому мне нужен способ аутентификации только приложений из белого списка.Этот API никогда не будет доступен третьим сторонам для взаимодействия или создания сторонних приложений;он предназначен только для моих приложений, поэтому я могу вырезать решения перекодирования на различных платформах и сосредоточиться только на логике (контроллеры, в основном).
Следовательно, OAuth будет подходящим для использования в качестве метода аутентификации дляописанный выше сценарий?
Мои знания об OAuth невелики, но если это будет считаться жизнеспособным решением, я, безусловно, перед этим ознакомлюсь с ним.Но, насколько я знаю, это работает на токенах.Потребитель (например, мой веб-сайт) запрашивает токен из приложения (в данном случае API), а затем приложение возвращает токен для использования в последующих запросах.Или что-то в этом роде.
Когда в мое приложение приходит запрос, могу ли я принимать / отклонять запросы на основе запрашивающего приложения?Т.е. я могу запретить доступ к приложениям, которые мне не принадлежат?Как мне различать приложения?Сохраняю ли я белый список IP-адресов или URL-адресов и сравниваю их по входящим запросам?
Любая помощь по вышеуказанным вопросам будет наиболее ценной.