Каким образом пользователь сможет оставаться на сайте, основанном на REST?

Примерно год назад я задал этот вопрос: Вы можете помочь мне понять это? «Распространенные ошибки REST: сеансы неуместны» . По сути, мой вопрос был таким:

Хорошо, я понимаю, что HTTP-аутентификация выполняется автоматически для каждого сообщения - но как? Отправляется ли имя пользователя / пароль с каждым запросом? Разве это не просто увеличивает площадь атаки? Мне кажется, что я упустил часть головоломки.

Полученные мной ответы имели смысл в контексте мобильного приложения (iPhone, Android, WP7) - при разговоре с REST-службой приложение просто отправляло пользователю учетные данные вместе с каждым запросом. Это отлично сработало для меня.

Но теперь я хотел бы лучше понять, как можно защитить REST-подобный веб-сайт, такой как сам StackOverflow или что-то вроде Reddit. Как бы все работало, если бы пользователь вошел в систему через веб-браузер, а не через приложение для iPhone?

  • Что происходит, когда пользователь входит в систему? Сохраняются ли учетные данные в браузере каким-либо образом?
  • Как браузер узнает, какие учетные данные отправлять с последующими запросами REST?
  • Что, если это вызов JavaScript веб-службы? Как вызов JavaScript включает учетные данные пользователя?

Я буду откровенен: мое понимание безопасности веб-сайтов довольно ограничено, я не веб-разработчик (Черт возьми, я разработчик настольных компьютеров! ). Мне понравилось работать со службами REST с точки зрения приложения, но теперь я хочу попробовать создать веб-сайт, основанный на принципах REST, и я очень заблудился.

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

7
задан Community 23 May 2017 в 12:07
поделиться