[抱歉我的英文,我是意大利人,我会尽我所能]
我正在尝试在我的网络应用中为拥有Google帐户的用户实施登录功能。我正在遵循本指南:http://code.google.com/intl/it-IT/webtoolkit/doc/latest/tutorial/appengine.html#user。
在“LoginServiceImpl.java”
中[...]
if (user != null) {
loginInfo.setLoggedIn(true);
loginInfo.setEmailAddress(user.getEmail());
loginInfo.setNickname(user.getNickname());
loginInfo.setLogoutUrl(userService.createLogoutURL(requestUri));
} else {
loginInfo.setLoggedIn(false);
loginInfo.setLoginUrl(userService.createLoginURL(requestUri));
}
[...]
对
的呼吁userService.createLoginURL(requestUri);
返回一个这样的字符串:
/_ah/login?continue=http%3A%2F%2F127.0.0.1%3A8888%2FGoogleAccounts.html%3Fgwt.codesvr%3D127.0.0.1%3A9997
这意味着,为了允许用户登录,我必须将他重定向到这里
http://127.0.0.1:8888/_ah/login?continue=http%3A%2F%2F127.0.0.1%3A8888%2FGoogleAccounts.html%3Fgwt.codesvr%3D127.0.0.1%3A9997
但是这样做,我到达了一个白色背景和蓝色框的白页:
http://img528.imageshack.us/img528/8720/formy.png
以及我放在那里的任何电子邮件,即使是一个形式不好的电子邮件,我也被重定向到我的主页并且似乎成功登录,有类似的东西
if(user != null) {
System.out.println("email = "+user.getEmail());
System.out.println("nickname = "+user.getNickname());
System.out.println("userId = "+user.getUserId());
System.out.println("FederatedIdentity = "+user.getFederatedIdentity());
System.out.println("AuthDomain = "+user.getAuthDomain());
System.out.println("link to logout = "+userService.createLogoutURL("http://127.0.0.1:8888/GoogleAccounts.html?gwt.codesvr=127.0.0.1:9997"));
}
导致
email = blablabla
nickname = blablabla
userId = 12654892720623673200
FederatedIdentity = null
AuthDomain = gmail.com
link to logout = /_ah/logout?continue=http%3A%2F%2F127.0.0.1%3A8888%2FGoogleAccounts.html%3Fgwt.codesvr%3D127.0.0.1%3A9997
我期待某种重定向到google页面,要求我授权应用程序使用我的数据......我缺少什么?我做错了吗?
答案 0 :(得分:5)
在开发环境中,您只会看到“蓝框( ,如您所说 )”您可以在其中输入任何电子邮件ID以登录....
但是当您在Google App Engine服务器中部署应用时,用户将被重定向到实际的Google登录页面。
部署您的应用并尝试...