2015-10-19 3 views
2

В настоящее время я разрабатываю API REST/JSON с использованием Play Framework 2.3. В настоящее время я думаю об эффективном, но простом способе защиты API. По соображениям безопасности я подразумеваю, что для некоторых действий конечный пользователь должен быть аутентифицирован для принятия.Защита API REST, разработанного с помощью платформы Play Framework

На данный момент я полагался на управление сеансом Play Framework (в качестве напоминания он хранит все данные сеанса в подписанном файле cookie, который отправляется в каждом запросе, как таковой, он не имеет состояния и хотя cookie может читается клиентом, он не может быть обновлен).

Поток довольно прост:

  1. Конечный пользователь логины благодаря клиенту API отправки запроса логина
  2. Если он будет принят, печенье устанавливается в ответ
  3. При отправке следующих запросов , клиент API автоматически добавляет куки-файл, поэтому конечный пользователь распознается API

Мой вопрос в следующем: действительно ли мне нужно идти дальше с точки зрения безопасности? Я не могу найти причину, почему этот существующий механизм не будет работать правильно ...

Заранее благодарим!

PS: На данный момент я являюсь разработчиком и потребителем API, и нет никакого плана публиковать его публично.

PPS: клиент Я занимаюсь разработкой простой веб-приложение с использованием AngularJS

+0

Я не понимаю вопрос, потому что «дальше» очень широк. Почему вы налагаете дополнительные ограничения безопасности на себя, зная, что вы единственный потребитель? Что вас беспокоит - просто общие рекомендации по безопасности, целостность безопасности системы или что-то еще? – Chrizt0f

+0

Это правда, что, как я уже сказал, API не является общедоступным. В этом контексте, это просто гарантировать, что я не забуду что-то большое, что может вызвать дыру в безопасности (так что лучшие практики). Но, честно говоря, мой вопрос также относится к другим вариантам использования с публичным API. –

+0

Ознакомьтесь с этой статьей, в которой объясняется подделка запроса на использование сайта в контексте игры [18076206] (http://stackoverflow.com/questions/18076206/how-do-i-secure-my-rest-api-developed-in- playframework? rq = 1) и собственной игры [документации] (https://www.playframework.com/documentation/2.4.x/ScalaCsrf) по проблеме – Chrizt0f

ответ

0

Вам не нужно. Это правильное решение.

Вы можете думать, чтобы идти к токенам только в терминах удобства использования.

Конечно, я предполагаю, что вы используете https.

+0

Да, это основано на HTTP. –

+0

Поэтому я не вижу никакой надежной причины использовать токены (JWT). Различные аспекты - да, токены более «REST» и более гибкие. Еще одна вещь о куках - это даже немного безопасно, что другие заголовки, но только немного - такие вещи, как «HTTPOnly» и «Secure». –

+0

Вместо того, чтобы устанавливать значение в файле cookie, вы можете попробовать с Http-заголовком x-auth-token. Тем не менее это не правило, но это стандарт для аутентификации на основе Token – Sivailango

Смежные вопросы