2016-12-01 6 views
5

मैं अपने प्रोग्राम के लिए सबज वर्कफ़्लो प्राप्त करना चाहता हूं, लेकिन मैं स्टोर उपयोगकर्ताओं को लॉगिन/पासवर्ड जोड़ी को खुले तरीके से नहीं चाहता हूं। मुझे अपने ऐप में वर्कफ़्लो का एहसास करने के लिए क्या उपयोग करना चाहिए? कोई सलाह? धन्यवाद।सी ++ बाइंडिंग के लिए फायरबेस ऑटोोलिन (पहली बार लॉगिन) वर्कफ़्लो

अपडेट: मेरे पास अब क्यूटी/क्यूएमएल में लिखा गया सरल ऐप है और फायरबेस सी ++ एपीआई का उपयोग करता है।

स्टार्ट पर मुझे फायरबेस नहीं मिल रहा है :: ऐप और फायरबेस :: एथ सफलतापूर्वक init।

void AuthManager::OnAuthStateChanged(firebase::auth::Auth *auth) 
{ 

    if(auth->CurrentUser()){ 
     qDebug() << "get auth :" << auth->CurrentUser()->Email().c_str(); 
    } 
    else{ 
     qDebug() << "still not auth"; 
    } 
} 

शुरू एप्लिकेशन के बाद यह दूसरी शाखा लॉग ("अभी भी प्रमाणन नहीं") सांत्वना देने लिखते हैं: init प्रमाणीकरण के बाद, मैं सरल हैंडलर कोड के साथ रजिस्टर AuthStateListener कक्षा हूँ। और कोई और नहीं होता है। फिर, gui में मैं अपने साइनइन बटन पर क्लिक करता हूं और बटन के हैंडलर में SignInWithEmailAndPassword करता हूं। उसके बाद मुझे OnAuthStateChanged में नया ईवेंट मिलता है। अब मैं अधिकृत हूं, लेकिन कोई autologin नहीं। उम्मीद है कि यह मदद करता है। धन्यवाद।

उत्तर

1

फ़ायरबेस सी ++ एसडीके 2.1.0 (9 डीसी 2016 से)

+0

क्या आपको [इस] का जवाब मिला (http://webcache.googleusercontent.com/search?q=cache:1tF4_KbWNhUJ:stackoverflow.com/questions/40897719/undefined-symbols-at-firebasevariant+&cd=1&hl=hi&ct = clnk & gl = dk और ग्राहक = ubuntu)? मैं पूछ रहा हूं क्योंकि libanalytics.a – Larpon

+1

@Larpon के खिलाफ लिंक करने का प्रयास करते समय मेरे पास बहुत ही समान आउटपुट है, आप पुस्तकालय सूची को लिंक करते हैं। कुछ स्थैतिक पुस्तकालयों को किसी दूसरे के पहले या बाद में लिंक करना चाहिए। आदेश के साथ खेलो। – Dcow

+0

यूप्स जो यह था! – Larpon

0

फ़ायरबेस के साथ, आपको प्रमाणीकरण के बाद एक्सेस टोकन प्राप्त होता है, और फ़ायरबेस आपके लिए सत्र प्रबंधित करता है। इस प्रकार, उपयोगकर्ता लॉगिन/पासवर्ड या टोकन को स्टोर करने की कोई आवश्यकता नहीं है।

इसके बजाय, आप AddAuthStateListener का उपयोग यह पता लगाने के लिए कर सकते हैं कि प्रमाणीकरण स्थिति में परिवर्तन कब होता है (उदाहरण के लिए जब उपयोगकर्ता साइन इन होता है)।

भी ध्यान रखें कि, आप पहचान के सत्यापन के लिए एक सर्वर साइड प्रक्रिया के लिए टोकन पारित करने के लिए की आवश्यकता चाहिए, तो आप इस के लिए Token विधि का उपयोग कर सकते हैं और Firebase सर्वर/व्यवस्थापक SDKs verify ids tokens करने के लिए एक रणनीति में शामिल हैं।

+0

क्षमा करें, मुझे अभी भी समझ में नहीं आ रहा है। कार्यक्रम के बाद फायरबेस लॉग इन कैसे बंद हैं? – Dcow

+0

प्रोग्राम बंद होने पर आप प्रमाणीकरण क्यों करना चाहते हैं? इससे मुझे कोई समझ नहीं आती है। मैंने यहां जो कहा है वह यह है कि जब ऐप फिर से खोला जाता है तो यह प्रमाणित होता है। – Kato

+0

नहीं, यह नहीं। बीटीडब्ल्यू, यह मेरे लिए नहीं है। मैं कुछ गलत कर सकता हूँ। मैंने ऑथस्टेट लिस्टनेट बनाया और यह केवल एक घटना को पकड़ लिया, और उस समय फायरबेस अभी भी लेखक नहीं था। मैं auth-> CurrentUser() == nullptr की जांच करता हूं और सत्य प्राप्त करता हूं। – Dcow

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