1

我已经使用 GWT 实现了适用于 Google 和 Yahoo 的 OpenId 身份验证服务。两个平台的用户都可以用他们的账号登录我的网站,我们可以检索一些基本信息(电子邮件地址)。这是我的一段代码。

private static final Map<String, String> openIdProviders;
static {
  openIdProviders = new HashMap<String, String>();
  openIdProviders.put("Google", "https://www.google.com/accounts/o8/id");
  openIdProviders.put("Yahoo", "http://open.login.yahooapis.com/openid20/www.yahoo.com/xrds"); 
}   

userInfo.isSignedIn = false;
for (String providerName : openIdProviders.keySet()) {
  String providerUrl = openIdProviders.get(providerName);
  String loginUrl = userService.createLoginURL(action.getRequestURI(), null, providerUrl, new HashSet<String>());
  userInfo.signInURLs.put(providerName, loginUrl);
}

我怎样才能对 Facebook 和 Twitter 做同样的事情?似乎他们不是 openId 提供者,对吧?Stackoverflow 似乎已经为登录实现了这个。

谢谢

4

2 回答 2

2

我使用Scribe JavaFB实现并Twitter登录。

于 2012-09-11T17:11:27.207 回答
0

Facebook通过 OAuth 2.0 进行身份验证。客户端服务器端身份验证都存在示例。推特是类似的。

在客户端,GWT JS Overlay Types将帮助您包装您需要进行的 JS 调用。

于 2012-09-11T16:29:30.457 回答