Можно ли настроить фреймворки JS MVC для аутентификации API? - PullRequest
2 голосов
/ 01 января 2012

Я смотрю на backbone.js / spine.js, и мне нравится идея просто настроить REST API и поместить всю логику в клиент.Но есть ли способ защитить REST API при использовании постоянства модели AJAX?Или кто-то может просто посмотреть на мой источник и вывести все конечные точки API?

Ответы [ 3 ]

2 голосов
/ 01 января 2012

Нет способа заставить браузер видеть то, что никто другой не может видеть. Таким образом, вы покажете свои конечные точки API злоумышленнику.

Хитрость заключается в том, чтобы вместо этого аутентифицировать все вызовы API и убедиться, что вы не сохранили ключи для этой аутентификации в своем Javascript. Я обычно использую имя пользователя и пароль вошедшего в систему пользователя для аутентификации, и он прекрасно работает вместе с backbone.js. Я просто сохраняю имя пользователя и пароль в store.js и отправляю его вместе с любым вызовом ajax против API.

Обратите внимание, что это должно быть сделано через HTTPS.

2 голосов
/ 01 января 2012

Обычно у вас будет простой логин, который может установить сессионный cookie. Этот файл cookie сеанса будет отправляться при каждом обращении к вашему API для проверки того, что пользователь вошел в систему. Конечно, каждый может определить все ваши конечные точки, но он не может использовать его без аутентификации.

1 голос
/ 01 января 2012

Им даже не нужно было бы смотреть на источник - простой инструмент, такой как Firebug, мог бы просто перечислить все запросы, которые делает ваш скрипт.

Однако учтите это: открытие данных действительно большая проблема?

Сценарии на стороне клиента всегда будут представлять угрозу безопасности.Даже приложения C ++ могут быть взломаны, а их конечные точки раскрыты.

Конечно, никогда не отправляйте в браузер такие вещи, как банковские данные.

...