2016-12-16 15 views
15

मैं अपने मूल एंड्रॉइड फायरबेस विकास को कम से कम कोशिश करना चाहता था ताकि जब मैं आईओएस/वेब पर बंदरगाह के लिए तैयार हो, तो मैं वहां बहुत कुछ नहीं करूँगा।एंड्रॉइड google लॉगिन के बाद फायरबेस कैसे प्रारंभ करें?

अभी फ़ायरबेस की जावास्क्रिप्ट एंड्रॉइड से Google लॉगिन की अनुमति नहीं देती है, इसे प्लगइन से ख्याल रखा जा सकता है। लेकिन मैं जो फंस गया हूं वह है कि जावा एंड्रॉइड Google लॉगिन के आधार पर फायरबेस कैसे शुरू करें।

तो यह है कि मैं क्या हासिल करने की कोशिश कर रहा हूँ है:

Cordova गूगल में जावा एंड्रॉयड-मूलनिवासी लॉगिन ---> इस आधार पर कहता है, मैं कैसे firebase प्रारंभ होगा?

इस प्लग मुझे मूल रूप से गूगल में प्रवेश कर सकते हैं: https://www.npmjs.com/package/cordova-plugin-googleplus

लेकिन मुझे लगता है मैं प्रमाणन की जरूरत टोकन? टोकन आईडी?

firebase.auth().signInWithCredential(credential).catch(function(error) { 
    } else { 
    console.error(error); 
    } 
}); 

क्या यह मुझे उपरोक्त आवश्यक टोक़ दे सकता है? https://developers.google.com/identity/sign-in/android/sign-in

GoogleSignInResult result = Auth.GoogleSignInApi.getSignInResultFromIntent(data); 

अद्यतन 1: बस अधिक जानकारी साझा करना चाहते हैं। जब हो रही उपयोगकर्ता Android पर Google के माध्यम से में लॉग इन मैं नीचे वस्तु

GoogleSignInAccount 

https://developers.google.com/android/reference/com/google/android/gms/auth/api/signin/GoogleSignInAccount

यह public String getIdToken() & public String getServerAuthCode() क्यों इन जे एस का उपयोग कर firebase प्रमाणित करने के लिए नहीं किया जा सकता है है?

अद्यतन 2: फ़ारज़ द्वारा प्रदान किया गया उत्तर काम करता प्रतीत होता है। फ़ंक्शन signInWithCredentialhttps://firebase.google.com/docs/reference/js/firebase.auth.Auth#signInWithCredential

फ़ंक्शन के लिए संदर्भ यहां आपकी सहायता के लिए धन्यवाद है।

उत्तर

4

GoogleAuthProvider प्रमाण पत्र के साथ auth.signInWithCredential का उपयोग करें।

auth.signInWithCredential(firebase.auth.GoogleAuthProvider.credential(googleAccessToken)).then(function(user) { 
    // Google User is logged in 
}).catch(function(error) { 
    // Error 
}); 

Source for more infomation

1

आप this GitHub example को फायरबेस उपयोग के बारे में पढ़ सकते हैं।

और Here आप पा सकते हैं -

mFirebaseRef.authWithOAuthToken("google", token, new AuthResultHandler("google")); 

कौन सा (यदि सभी सफलता है) कॉल this public void onAuthenticated(AuthData authData)

कहाँ token है अपने getIdToken मेरा मतलब यह Firebase गूगल का उपयोग करते हुए प्रवेश करने के लिए possble है, फेसबुक, ट्विटर सभी मामलों में आपको टोकन भेजना होता है जो आपको फ़ायरबेस सर्वर पर प्राप्त होता है जो आपके टोकन की जांच करता है चाहे आप पहले से लॉग इन हैं या नहीं। आप अपना खुद का सर्वर उसी तरह से सेट कर सकते हैं।

0

गूगल के बाद के लिए लॉग इन आप प्रमाणन का उपयोग करने के लिए है:

यहाँ एक उदाहरण है।GoogleAuthProvider क्रेडेंशियल के साथ signInWithCredential:

private void firebaseAuthWithGoogle(GoogleSignInAccount account) { Log.d(TAG, "firebaseAuthWithGoogle:" + account.getId()); final String name = account.getDisplayName(); final String email = account.getEmail(); AuthCredential credential = GoogleAuthProvider.getCredential(account.getIdToken(), null); getAuth().signInWithCredential(credential) .addOnCompleteListener(this, new OnCompleteListener<AuthResult>() { @Override public void onComplete(@NonNull Task<AuthResult> task) { Log.d(TAG, "onComplete: sign in with credentials " + task.isSuccessful()); if (task.i कोड यहाँ sSuccessful()) { Log.e(TAG, "success: sign in with credentials "); } if (!task.isSuccessful()) { Log.e(TAG, "onComplete: sign in with credentials " + task.getException()); } } }); }

+0

ओपी विशेष रूप से एक जावास्क्रिप्ट समाधान, नहीं एक जावा मांगा दर्ज करें:

यहाँ एक कोड है। – Faraz

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