Пользовательская страница входа в Java для учетных записей GAE

У меня есть приложение Java и приложение GAE. Вот что я хочу сделать:

Я хочу, чтобы пользователи учетной записи GAE авторизовались в моем приложении Java, и я не хочу использовать решение «Войти с помощью…». Вместо этого я хочу, чтобы пользователи входили в систему с моей страницы входа в приложение Java (например, предоставляя имя пользователя и пароль) и пересылали эту информацию для входа на серверы Google.

Другими словами, я хочу именно это на этой странице. Эта веб-страница использует службу учетных записей Google, но форма входа — это настраиваемая форма, которая затем (я думаю) перенаправляет данные на серверы Google, а затем регистрирует пользователя.

Как я могу этого добиться? Какие протоколы следует использовать (службы OAuth, OpenID, GAE...)?


person tuazku    schedule 12.04.2013    source источник
comment
Итак, вы просите пользователей дать вам свой пароль?   -  person Peter Knego    schedule 12.04.2013
comment
@PeterKnego - Возможно, потому что я не знаю, как это было реализовано в приведенной выше ссылке. Поскольку я контролирую приложение GAE, я могу в любое время сбросить их пароли. Я ничего не получу, узнав их пароли.   -  person tuazku    schedule 12.04.2013
comment
Да, указанный выше веб-сайт видит ваш пароль Google — большое нет-нет. Они могут сохранить ваш пароль и получить доступ к вашей учетной записи Google в любое время, даже выдавая себя за вас. Я считаю, что кто-то должен информировать учащихся о том, что школа занимается этим.   -  person Peter Knego    schedule 12.04.2013
comment
@PeterKnego - Итак, вы знаете, как этого можно добиться?   -  person tuazku    schedule 12.04.2013
comment
Но, с другой стороны, адрес электронной почты предоставляется школой, так что все в порядке (частично потому, что они имеют доступ к вашей учетной записи, а не выдают себя за вас). Но ни в коем случае не спрашивайте пароль к сторонним сервисам.   -  person Peter Knego    schedule 12.04.2013
comment
@PeterKnego - Только мои пользователи GAE смогут войти в мою Java. Так что нормально видеть их пароли   -  person tuazku    schedule 12.04.2013
comment
Нет, недопустимо видеть пароли служб, которые вам не принадлежат, в данном случае учетных записей Google. Это большой риск (для пользователей) и ответственность (для вас). Если что-то пойдет не так (например, отправка неприемлемого/криминального контента), люди всегда могут сказать: эй, у этого парня есть наши пароли, может быть, он их отправил. Просто не пытайтесь это сделать.   -  person Peter Knego    schedule 12.04.2013


Ответы (1)


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

Если вам нужен управляемый/ограниченный доступ к учетной записи пользователя (с его согласия), вам следует изучить OAuth. Но в любом случае это не даст вам возможности создать пользовательскую страницу входа.

person Peter Knego    schedule 12.04.2013
comment
- Но как тот университет добился этого? - person tuazku; 12.04.2013
comment
Технически это легко сделать: они создали специальную форму, в которой пользователи вводят свой адрес электронной почты/пароль, который затем отправляется на серверы Google для аутентификации. Но это означает, что они видят пароль пользователя, который, по ИМО, не подходит. Технически они, вероятно, используют устаревший API ClientLogin: developers.google.com/accounts/docs/AuthForInstalledApps - person Peter Knego; 12.04.2013
comment
Можно ли реализовать пользовательскую страницу входа в приложение GAE и установить связь между GAE и моим приложением Java? - person tuazku; 12.04.2013