Безопасная аутентификация с GWT и GAE через https? - PullRequest
6 голосов
/ 09 сентября 2010

Я хочу внедрить систему пользовательской аутентификации в своем приложении appengine. Я не хочу использовать сессии. Я новичок в этой области, поэтому у меня есть два основных вопроса:

1: Безопасно ли просто отправлять имя пользователя и пароль с каждым RPC через https? Что мне нужно сделать, чтобы сохранить имя пользователя и пароль в безопасности на стороне клиента?

2: Как я могу сказать GWT использовать https, когда он делает свои запросы?

Я мало что знаю о безопасности, поэтому, пожалуйста, не жалейте мне никаких "очевидных" подробностей.

Спасибо!

Ответы [ 3 ]

5 голосов
/ 26 сентября 2010

Наблюдение за процессом с помощью firebug показывает, что все RPC выполняются по тому же протоколу, с которого запрашивалась страница хоста. Похоже, это требуется для правил одного и того же сайта, поэтому я предполагаю, что мои ответы

1: Да, но медленнее

2: GWT автоматически использует https при запросе страницы хоста с https

2 голосов
/ 06 марта 2011
  1. Отправка имени пользователя и пароля через HTTPS безопасна, но никто не делает этого для каждого запроса, потому что однажды вы можете забыть / нужно отправить запрос через HTTP.Кроме того, хранение пароля в памяти привлечет XSS-хакеров.Одна незамеченная XSS-уязвимость может раскрыть пароли.Обычно разработчики хранят идентификатор сессии или XSRF-токен в памяти и отправляют его при каждом запросе.
  2. Посмотрите на http://code.google.com/appengine/docs/java/config/webxml.html#Secure_URLs
  3. Не забудьте о защите XSRF, вам нужнореализовать его для запросов, которые что-то меняют (не только для чтения).
1 голос
/ 10 сентября 2010

В GAE вы также можете использовать Google User Services API http://code.google.com/appengine/docs/java/users/overview.html. Это очень интуитивно понятно, и вам не нужно знать детали безопасности.

...