Я искал способ защитить свои API RESTful. Это казалось простым, но, похоже, это не так просто. Во-первых, я пишу приложение iOS, подключающееся к серверу Play Framework. Ничто из этого не имеет ничего общего с Google, Facebook, Twitter или LinkedIn (шокирует, что я знаю). О, и мои текущие планы не требуют, чтобы пользовательские приложения использовали мои API-интерфейсы, это только мои приложения на данный момент.
Основная проверка подлинности
То, что казалось простым, было основным пользователем/передачей по методу /auth, управляющему сеансом cookie. Это может сделать некоторые стоны как слишком простые или слабые, но в основном это переместило идентификатор на ключ сеанса, который быстро проверяется. Моя первоначальная настройка заключалась в том, чтобы истекать сессии каждый день, но это привело к тому, что приложение iOS заставляло логин ежедневно доказывать свою досаду.
OAuth
Я разместил вопрос на плате iOS и получил тупое направление к OAuth. Мои исследования OAuth начались, но святой sh * t является настолько сложным и, похоже, не существует каких-либо примеров на стороне сервера... просто много людей жалуются на то, как это расстраивает. Все примеры клиентов показывают подключение к Google, Facebook, Twitter и LinkedIn. О, Радость!
После просмотра выступления Эрана Хаммера о OAuth1 и OAuth2, казалось бы, бесплодно продолжать, и его идея OZ (которая выглядит действительно чистой) находится только на ранних этапах в node.js.
Вопрос
Итак, мой вопрос к большому сообществу StackOverflow... что вы делаете для защиты ваших REST API?