2010-08-13 13 views
7

मैं Play Framework का उपयोग कर सीख रहा हूं और इसके लिए डेमो ऐप कर रहा हूं।प्ले फ्रेमवर्क के साथ फेसबुक लॉगिन को एकीकृत करने के लिए लाइब्रेरी?

इस ऐप के लिए मैं फेसबुक एपीआई के साथ एकीकृत करना चाहता हूं, जिससे उपयोगकर्ता फेसबुक आईडी का उपयोग कर लॉग इन कर सकते हैं। यह जानकर कि प्ले एक स्टेटलेस फ्रेमवर्क है और जिस तरह से यह काम करता है, कुछ लाइब्रेरी या मॉड्यूल की सिफारिश की जाती है?

मैं किसी भी को खोजने में सक्षम नहीं हूं लेकिन मैं बस मामले में पूछता हूं।

उत्तर

3

प्ले साइट पर सूचीबद्ध fbconnect मॉड्यूल भी है।

+0

हाँ, जो 1.1 पर जोड़ा गया था। धन्यवाद :) –

10

नवीनतम प्ले! फ्रेमवर्क v1.2.2 में फेसबुक ओएथ 2 प्रोटोकॉल के साथ एक नमूना शामिल है।

import models.User; 
import play.Logger; 
import play.libs.OAuth2; 
import play.libs.WS; 
import play.mvc.Before; 
import play.mvc.Controller; 

import com.google.gson.JsonObject; 

public class Application extends Controller { 

    // The following keys correspond to a test application 
    // registered on Facebook, and associated with the loisant.org domain. 
    // You need to bind loisant.org to your machine with /etc/hosts to 
    // test the application locally. 

    public static OAuth2 FACEBOOK = new OAuth2(
      "https://graph.facebook.com/oauth/authorize", 
      "https://graph.facebook.com/oauth/access_token", 
      "95341411595", 
      "8eff1b488da7fe3426f9ecaf8de1ba54" 
    ); 

    public static void index() { 
     User u = connected(); 
     JsonObject me = null; 
     if (u != null && u.access_token != null) { 
      me = WS.url("https://graph.facebook.com/me?access_token=%s", WS.encode(u.access_token)).get().getJson().getAsJsonObject(); 
     } 
     render(me); 
    } 

    public static void auth() { 
     if (OAuth2.isCodeResponse()) { 
      User u = connected(); 
      OAuth2.Response response = FACEBOOK.retrieveAccessToken(authURL()); 
      u.access_token = response.accessToken; 
      u.save(); 
      index(); 
     } 
     FACEBOOK.retrieveVerificationCode(authURL()); 
    } 

    @Before 
    static void setuser() { 
     User user = null; 
     if (session.contains("uid")) { 
      Logger.info("existing user: " + session.get("uid")); 
      user = User.get(Long.parseLong(session.get("uid"))); 
     } 
     if (user == null) { 
      user = User.createNew(); 
      session.put("uid", user.uid); 
     } 
     renderArgs.put("user", user); 
    } 

    static String authURL() { 
     return play.mvc.Router.getFullUrl("Application.auth"); 
    } 

    static User connected() { 
     return (User)renderArgs.get("user"); 
    } 

} 

आनंद लें:

यहाँ OAuth2 प्रमाणीकरण के साथ एक आवेदन नियंत्रक है!

संबंधित मुद्दे

 संबंधित मुद्दे