google-app-engine - 使用 Google App Engine 和 GWT 进行用户身份验证

标签 google-app-engine gwt authentication

[抱歉我的英语不好,我是意大利人,我会尽力而为]

我正尝试在我的网络应用程序中为拥有 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

我期待某种重定向到要求我授权应用程序使用我的数据的谷歌页面...我错过了什么?我做错了什么吗?

最佳答案

开发环境中,您只会看到一个“Blue Box (as you said)”您可以在其中输入任何电子邮件 ID 以登录....

但是当您在 Google App Engine 服务器中部署您的应用程序时,用户将被重定向到实际的谷歌登录页面。

部署您的应用并试用...

关于google-app-engine - 使用 Google App Engine 和 GWT 进行用户身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8603085/

相关文章:

java - 如何让DeckPanel有从左向右滑动的动画效果?

javascript - 使用 AngularFire 和 AngularJS 登录 Firebase 后如何重定向到 URL?

java - 如何使用ava通过浏览器检测国家信息

java - 当尝试访问不存在的页面时,我可以重定向到有效的 Wicket 页面吗?

java - 如何浏览本地 Java App Engine 数据存储?

java - 已部署的默认留言簿 - 主要次要是什么意思以及如何修复它?

gwt - 从另一个 Composite 调用 Composite 的 GWT 方法

authentication - 以 slim 为条件重定向整个组

php - 从 JavaScript 客户端对 REST API 的授权和身份验证

java - 应用程序引擎的 hibernate 配置