如何使用java中的facebook登录验证用户
嗨,我正在使用java进行一个web项目,我想让网站用户使用他们的Facebook帐户登录。我试过了如何使用java中的facebook登录验证用户,java,jsp,servlets,oauth,facebook-oauth,Java,Jsp,Servlets,Oauth,Facebook Oauth,嗨,我正在使用java进行一个web项目,我想让网站用户使用他们的Facebook帐户登录。我试过了 但是没有得到解决方案我可以向您推荐OAuth库或其改进的fork。如果您对使用示例感兴趣,请查看我的项目 首先,您需要获取OauthService实例: OAuthService service = new ServiceBuilder() .provider(FacebookApi.class) .apiKey("key").apiSecret(
但是没有得到解决方案我可以向您推荐OAuth库或其改进的fork。如果您对使用示例感兴趣,请查看我的项目 首先,您需要获取OauthService实例:
OAuthService service = new ServiceBuilder()
.provider(FacebookApi.class)
.apiKey("key").apiSecret("secret")
.scope("email").callback("https://hostname/endpoint/")
.build();
然后,您需要将用户重定向到facebook页面,他将在该页面上授予您的应用程序/登录权限:
String redirectUrl = service.getAuthorizationUrl(NULL_TOKEN);
response.sendRedirect(redirectUrl);
Facebook将调用您的回调uri,您需要获取参数code
,并获取访问令牌:
String verifierValue = request.getParameter("code");
if (verifierValue == null) {
log.warn("Callback did not receive code parameter!");
return false;
}
Verifier verifier = new Verifier(verifierValue);
Token accessToken = service.getAccessToken(NULL_TOKEN, verifier);
最后,是时候使用此令牌向Facebook询问用户详细信息了:
OAuthRequest resourceRequest = new OAuthRequest(Verb.GET, RESOURCE_URL);
service.signRequest(accessToken, resourceRequest);
Response resourceResponse = resourceRequest.send();
JsonObject jsonObject = JsonObject.readFrom(resourceResponse.getBody());
JsonValue value = jsonObject.get("username");
参见课程。我建议使用Scribe 在这里查看如何使用Facebook和scribe的示例:
@TechGuy-你有什么问题吗?嗨,你能检查一下这个问题吗:举个完整的例子怎么样?我很难理解为什么我当前的web应用程序使用Facebook验证用户,但它只是为每个用户返回相同的Facebook ID。我真的很想找到一个工作的开始-结束的例子,为了理解一切是如何工作的。