2016-06-03 8 views
5

Firebase 3 प्रलेखन में, वे कहते हैं कि तुम इसी प्रकार के अतिरिक्त गुंजाइश डेटा हड़पने कर सकते हैं:Firebase 3 - अतिरिक्त प्रमाणीकरण स्कोप डाटा

वैकल्पिक: अतिरिक्त OAuth 2.0 स्कोप है कि आप प्रमाणीकरण से अनुरोध करना चाहते हैं निर्दिष्ट करें प्रदाता। एक दायरा जोड़ने के लिए, ऐडस्कोप कॉल करें। उदाहरण के लिए: provider.addScope('https://www.googleapis.com/auth/plus.login');

एक बार authenicated, मैं नहीं डेटा "उपयोगकर्ता" वस्तु के हिस्से के रूप पा सकते हैं। कोई अतिरिक्त विचार यह अतिरिक्त डेटा कैसे चुनें?

धन्यवाद,

उत्तर

0

Firebase वी 3 अतिरिक्त अनुरोध किया डेटा नहीं लौटेगा जब अतिरिक्त OAuth 2.0 स्कोप अनुरोध कर रहे हैं। आपको क्या करने की आवश्यकता है, वह वापस लौटाए गए क्रेडेंशियल को पुनर्प्राप्त करें (साइनइन विथपॉप और getRedirectResult प्रदान करते हैं) और उसके बाद क्रेडेंशियल कॉल में Google accessToken का उपयोग करके Google एपीआई अतिरिक्त डेटा का अनुरोध करने के लिए कॉल करें।

+0

मैंने यह भी सोचा, लेकिन फायरबेस रीपो में नमूना देखकर ऐसा लगता है कि वे एक ऑथ श्रोता से इच्छित सभी डेटा तक पहुंचने में सक्षम हैं। इसे स्वयं बनाने के लिए प्रयास कर रहा हूं और मुझे वे फ़ील्ड नहीं मिलते हैं जो वे चर के लिए आवंटित कर रहे हैं। क्या आपके पास इसके लिए कोई नमूना कोड है? : https://github.com/firebase/quickstart-js/blob/master/auth/google-popup.html – Brandon

+0

नमूना कोड में उनके द्वारा उपयोग किए जाने वाले डेटा केवल वर्तमान उपयोगकर्ता और इसकी गुणधर्म हैं जो हमेशा उपलब्ध हैं। आप auth.currentUser से उन तक पहुंच सकते हैं। *। आप प्रदाता विशिष्ट डेटा तक भी पहुंच सकते हैं: auth.currentUser.providerData [indexOfGoogleProviderId]। ईमेल/displayName, आदि। Result.user के माध्यम से signInWithPopup पुनर्प्राप्त में एक और उपयोगकर्ता संदर्भ लौटा दिया गया है। – bojeil

0

मैंने इसका परीक्षण किया है और उदाहरण के रूप में गिथब का उपयोग करके, उपयोगकर्ता के ईमेल पते को पुनर्प्राप्त करने में सक्षम था अगर उपयोगकर्ता का ईमेल पता जिथब पर सार्वजनिक रूप से सेट किया गया था। user:email गुजरना तब प्रभावी नहीं हुआ जब ईमेल पता निजी पर सेट किया गया था। जैसे

provider = new firebase.auth.GithubAuthProvider(); 
provider.addScope('user:email'); 
संबंधित मुद्दे