Я создаю веб-приложение Google App Engine с задней частью Java, которая в значительной степени зависит от JavaScript/JQuery в браузере (вы можете видеть его здесь).
Я хочу реализовать механизм аутентификации пользователя, который также будет полагаться на AJAX (т.е. они смогут зарегистрироваться и войти без обновления страницы).
Я не хочу полагаться на аутентификацию Google, потому что я обнаружил, что многие люди неохотно отказываются от своих адресов электронной почты GMail, но я хотел бы поддерживать аутентификацию через Google/Facebook/Twitter и т.д. в будущем.
Мне нравится простота подхода Reddit к аутентификации пользователей.
Меня беспокоит то, что, поскольку люди не будут использовать мое приложение через HTTPS, я не хочу отправлять пароль в текстовом виде через HTTP. Я также предпочел бы полагаться на какой-то секретный токен (возможно, хеш пароля и некоторую предоставленную сервером "соль" ), которая может быть перехвачена и подделана.
В то же время я не хочу прикладывать огромные усилия для внедрения механизма аутентификации.
Есть ли подход, который дает мне простоту, которую я хочу, но которая безопасна через HTTP?
edit: Я только понял, что Google App Engine поддерживает HTTPS, но только если вы подключаетесь через URL *.appspot.com для своего сайта. К сожалению, вы не можете делать AJAX-вызовы из-за ограничений межсайтового скриптинга, хотя я думаю, что это возможно с помощью JSONP.
Итак, использует JSONP + HTTPS + *. appspot.com лучший подход здесь?