我已经使用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似乎已经实现了登录。
由于
答案 0 :(得分:3)
我使用Scribe Java实施了FB
和Twitter
登录。
答案 1 :(得分:1)
Facebook验证via OAuth 2.0。 client-side和server-side身份验证都有示例。 Twitter是similar。
在客户端,GWT JS Overlay Types将帮助您包装需要进行的JS调用。