2014-05-09 20 views

Trả lời

8

Tôi có thể đề xuất bạn thư viện OAuth Scribe hoặc ngã ba được cải tiến Subscribe. Nếu bạn quan tâm đến các mẫu sử dụng, hãy xem dự án của tôi OAuh JEE Login.

Trước tiên, bạn cần phải nhận được OauthService dụ:

OAuthService service = new ServiceBuilder() 
      .provider(FacebookApi.class) 
      .apiKey("key").apiSecret("secret") 
      .scope("email").callback("https://hostname/endpoint/") 
      .build(); 

Sau đó, bạn cần phải chuyển hướng người dùng đến trang facebook nơi ông sẽ cấp quyền truy cập vào ứng dụng của bạn/đăng nhập:

String redirectUrl = service.getAuthorizationUrl(NULL_TOKEN); 
response.sendRedirect(redirectUrl); 

Facebook sẽ sau đó gọi uri gọi lại của bạn và bạn cần lấy thông số code và nhận mã thông báo truy cập:

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); 

Cuối cùng đó là thời gian để sử dụng thẻ này để hỏi Facebook để biết chi tiết sử dụng:

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"); 

Xem lớp FacebookOAuthProcessor.

+0

@TechGuy - bạn có bất kỳ câu hỏi? –

+0

Xin chào, bạn có thể vui lòng kiểm tra câu hỏi này: http://stackoverflow.com/questions/30891464/spring-mvc-facebook-authorization-works-but-unable-to-access-api?noredirect=1#comment49822656_30891464 –

0

Tôi khuyên bạn nên sử dụng Scribe.

Check-out một ví dụ về làm thế nào để sử dụng Facebook với người ghi chép ở đây: https://github.com/fernandezpablo85/scribe-java/blob/master/src/test/java/org/scribe/examples/FacebookExample.java

+0

Làm thế nào về một ví dụ đầy đủ? Tôi đã đấu tranh để hiểu tại sao ứng dụng web hiện tại của tôi xác thực người dùng bằng Facebook, nhưng nó chỉ trả về cùng một ID Facebook cho mỗi người dùng. Tôi thực sự muốn tìm một ví dụ bắt đầu làm việc, vì lợi ích của sự hiểu biết mọi thứ hoạt động như thế nào. – Insanovation

Các vấn đề liên quan