2016-04-13 7 views
5

फेसबुक ने अभी F8 2016 पर पेश किया।फायरबेस: क्या मैं ऐप उपयोगकर्ताओं को प्रमाणीकृत करने के लिए फेसबुक की नई खाता किट का उपयोग कर सकता हूं?

यह ऐप उपयोगकर्ताओं को उनके फोन नंबर या ईमेल पते का उपयोग करके लॉग इन करने में सक्षम बनाता है।

मैंने पहले से ही फायरबेस के लिए नियमित फेसबुक लॉग इन के साथ प्रमाणित करने के लिए इसे वापस लौटाई गई टोकन का उपयोग करने का प्रयास किया है, लेकिन यह काम नहीं किया।

क्या फेसबुक खाता किट का उपयोग कर फायरबेस के साथ ऐप उपयोगकर्ताओं को प्रमाणीकृत करने का कोई तरीका पहले से ही है?

अतिरिक्त जानकारी

मैं खाता किट के माध्यम से प्रवेश और AccountKit.getCurrentAccessToken();

साथ पहुंच टोकन प्राप्त कर सकते हैं मैं तो पहुँच टोकन का उपयोग कर Firebase के साथ प्रमाणित करने का प्रयास करें:

विकल्प 1)

mFirebaseRef.authWithOAuthToken("facebook", accessToken.getToken(), new AuthResultHandler("facebook"));

-> फायरबेस इरर: अमान्य प्रमाणीकरण प्रमाण-पत्र प्रदान किए गए।

विकल्प 2)

mFirebaseRef.authWithCustomToken(accessToken.getToken(), new Firebase.AuthResultHandler() { ... }

-> FirebaseError: विफल लॉगिन - प्रमाणीकरण टोकन पार्स नहीं कर सका।

(Btw। पहुँच टोकन स्ट्रिंग आधा टोकन जो अगर मैं नियमित रूप से फेसबुक लॉग इन बटन का उपयोग कर के लिए लॉग इन उत्पन्न होता है की लंबाई है।)

मुझे आश्चर्य है अगर मैं पहले से ही खाता किट द्वारा उत्पन्न टोकन का उपयोग कर सकते हैं फायरबेस के साथ प्रमाणित करने के लिए?

+0

हाँ आप खाताकिट का उपयोग कर सकते हैं। आप इस लिंक को https://developers.facebook.com/apps/YOUR_APP_ID_HERE/account-kit/ –

+0

देख सकते हैं, आपको थोड़ा और विवरण जोड़ने की आवश्यकता है। कोड भागों और त्रुटि लॉग की तरह। तो समुदाय समझ सकता है कि समस्या कहां है। –

+0

दस्तावेज़ों के मुताबिक, आपको उस सर्वर को अपने सर्वर से प्राधिकरण टोकन के लिए एक्सचेंज करना होगा।या, आप एक्सेस टोकन प्राप्त करने के लिए अपने ऐप कॉन्फ़िगरेशन में कुछ स्विच हिट कर सकते हैं जो काम करना चाहिए। यह पृष्ठ सहायक है: https://developers.facebook.com/docs/accountkit/accesstokens – Christopher

उत्तर

5

हाँ, यह है Firebase Custom Authentication का उपयोग कर: -

(। https://groups.google.com/forum/#!topic/firebase-talk/qrb1gWBKO3M Btw मैं भी एक जवाब यहाँ प्राप्त करने की कोशिश) ।

आपको एक प्रमाणीकरण सर्वर सेट अप करने की आवश्यकता है जो खाताकिट उपयोगकर्ता आईडी या फोन नंबर को यूआईडी के रूप में उपयोग करके फ़ायरबेस कस्टम टोकन बना सकता है।

एक बार जब आप प्रमाणीकरण सर्वर से कस्टम टोकन प्राप्त है तो आप उसे इस तरह firebase में प्रवेश करने का उपयोग करें:

mAuth.signInWithCustomToken(mCustomToken) 
     .addOnCompleteListener(this, new OnCompleteListener<AuthResult>() { 
      @Override 
      public void onComplete(@NonNull Task<AuthResult> task) { 
       Log.d(TAG, "signInWithCustomToken:onComplete:" + task.isSuccessful()); 
       if (!task.isSuccessful()) { 
        Log.w(TAG, "signInWithCustomToken", task.getException()); 
        Toast.makeText(CustomAuthActivity.this, "Authentication failed.", 
          Toast.LENGTH_SHORT).show(); 
       } 
      } 
     }); 

यह blog post यह कैसे लागू करने के लिए पर एक विस्तृत चरण-दर-चरण निर्देशिका है।

3

मैं Firebase Google Group में निम्नलिखित जवाब मिला: संभव

Yeah, after discussing with another Firebase engineer, I'm pretty sure Firebase Authentication does not actually support Account Kit. Sorry. We have no plans to support it in the works, but will revisit if we get enough people asking for it.

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

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