Защита вызовов REST, сделанных JavaScript, с незащищенной страницы - PullRequest
0 голосов
/ 01 сентября 2011

У нас есть веб-приложение, в котором мы не требуем, чтобы конечные пользователи входили в систему.Приложение использует Ajax для вызовов служб REST, размещенных на том же сервере.Помимо этого приложения, мы хотим убедиться, что если какие-либо другие приложения / агенты вызовут службу REST, им будет отказано.

Какой самый простой способ защитить REST API подобным образом?Я предполагаю, что мы включили бы какой-нибудь токен безопасности и сделали бы вызов через HTTPS.Однако мне неясно, как Ajax-приложение будет создавать / получать / шифровать токен и как выглядит жизненный цикл.

Я бы предпочел сделать это вне Spring Security или OAuth, если это возможно.Я также читал, что для аутентификации достаточно отправить имя пользователя и пароль по SSL.В этом случае приложение будет иметь «имя пользователя» и пароль, и оно будет отправлять его при каждом запросе в службу REST.Но как он будет хранить эту информацию в секрете, если клиент будет использовать только HTML и javascript в браузере?

Спасибо.

1 Ответ

0 голосов
/ 01 сентября 2011

В общем это невозможно.Кто-то может просто просмотреть исходный код на вашем javascript, прочитать токен, а затем делать все, что ему захочется.

https здесь не нужен.Для токена, вероятно, проще всего установить cookie при загрузке javascript с сервера, тогда этот cookie также будет передаваться с любыми AJAX-запросами.

Это не совсем безопасно - любой может просто посмотреть, чтоcookie есть и используй его, но это лучшее, что ты можешь сделать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...