Какой самый простой безопасный способ аутентификации пользователей через AJAX?

Я создаю веб-приложение Google App Engine с серверной частью Java, которое в значительной степени полагается на JavaScript / JQuery в браузере (вы можете видеть это здесь ).

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

Я не хочу полагаться на аутентификацию Google, потому что я обнаружил, что многие люди не хотят отказываться от своих адресов электронной почты GMail, но я хотел бы поддерживать аутентификацию через Google / Facebook / Twitter и т. Д. В будущем.

Мне нравится простота подхода Reddit к аутентификации пользователей.

Меня беспокоит то, что, поскольку люди не будут использовать мое приложение через HTTPS, я не хочу отправлять пароль в виде открытого текста через HTTP. Я также предпочел бы полагаться на какой-то секретный токен (возможно, хэш пароля и некоторую "соль", предоставляемую сервером), который можно было бы перехватить и подделать.

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

Есть ли подход, который дает мне желаемую простоту, но при этом является безопасным через HTTP?

редактировать: Я только что понял, что Google App Engine поддерживает HTTPS, но только если вы подключаетесь через * .appspot .com URL вашего сайта. К сожалению, вы не можете выполнять вызовы AJAX из-за ограничений межсайтового скриптинга - хотя я думаю, что это возможно с JSONP.

Итак, лучше ли использовать JSONP + HTTPS + *. Appspot.com?

11
задан sanity 2 February 2012 в 15:08
поделиться