2016-06-18 10 views
10

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

+0

http://stackoverflow.com/a/39909854/2254886 मैं एक समाधान है कि अपने जीवन को आसान बना सकता पाया। – Ryan

+0

lol good one mate – rex

+1

मैंने इसे यहां आपके प्रश्न के उत्तर के रूप में पोस्ट किया है, लेकिन समुदाय ने इसे हटा दिया क्योंकि मैंने इसे कई स्पॉट्स लॉल में रखा है। शायद क्योंकि मैंने एक से अधिक पदों पर शब्द के लिए उत्तर शब्द पोस्ट किया था। मैंने जवाब को अलग और दोबारा बदलने के लिए बदल दिया। यह हटा दिया जा सकता है लेकिन मुझे इस पर शासन का यकीन नहीं है क्योंकि अब यह तकनीकी रूप से एक अलग जवाब है। मैं सिस्टम या कुछ भी चाल करने की कोशिश नहीं कर रहा हूं, मैं बस लोगों को समाधान देखना चाहता हूं। – Ryan

उत्तर

0

बेनामी उपयोगकर्ता किसी अज्ञात उपयोगकर्ता को अपग्रेड करने से पहले एक प्रारंभिक बिंदु हो सकते हैं (एक ई-कॉमर्स साइट के बारे में सोचें जहां एक अनाम उपयोगकर्ता अपने कार्ट में सामान जोड़ता है और फिर चेकआउट पर, Google या ईमेल/पासवर्ड में अपग्रेड करता है उपयोगकर्ता; इस मामले में आप शायद उपयोगकर्ता के कार्ट को खोना नहीं चाहते हैं)। जैसा कि समझाया गया है, यह उपयोगी हो सकता है यदि आप अज्ञात उपयोगकर्ता से डेटा को अपग्रेड किए गए उपयोगकर्ता तक जारी रखना चाहते हैं। अगर आप अज्ञात उपयोगकर्ताओं को शुद्ध करना चाहते हैं, तो ऐसा करने का कोई स्वचालित तरीका नहीं है। हालांकि जैसे ही आप या तो अनाम उपयोगकर्ता को साइन आउट करते हैं या एक अज्ञात उपयोगकर्ता में साइन इन करते हैं, अनाम उपयोगकर्ता की स्थिति खो जाएगी।

4

दुर्भाग्य से यह एक "मेमोरी रिसाव" (उपयोगकर्ता रिसाव है?) चूंकि अज्ञात उपयोगकर्ता को कनवर्ट करने के लिए मजबूर करने का कोई उचित तरीका नहीं है, इसलिए ये अज्ञात उपयोगकर्ता आईडी जल्द ही उन ज़ोंबी बन जाएंगी जो किसी विशेष उद्देश्य की सेवा नहीं करते हैं (जिसे मैं सोच सकता हूं)। इसके अलावा, एक वास्तविक उपयोगकर्ता एक अज्ञात उपयोगकर्ता के रूप में साइन इन कर सकता है (फिर भी), फिर भी, पहले से ही अपने ईमेल को पिछले अवतार में जोड़ने के बाद, और फिर अपने ईमेल से लिंक करने का प्रयास करते समय निराश हो जाते हैं। कुल मिलाकर, मुझे वर्तमान अज्ञात उपयोगकर्ता कार्यान्वयन अव्यवहारिक, या बहुत कम से कम आदर्श से मिलता है।

अभी के लिए मैं एक ईमेल पता रखने की योजना बना रहा हूं जो यादृच्छिक लेकिन अंतर्निहित उपयोगकर्ता/डिवाइस के लिए अद्वितीय अज्ञात साइनइन (जो अक्षम है) का उपयोग करने के बजाय अज्ञात उपयोगकर्ताओं में साइन इन करने के लिए अद्वितीय है। मेरी राय में साइन आउट पर अज्ञात उपयोगकर्ता आईडी को हटाने के लिए फायरबेस को बताने के लिए एक सेटिंग होने की आवश्यकता है (वे वैसे भी बेकार हैं) और/या पूर्व निर्धारित समय के बाद। इसके अतिरिक्त, एक ही अज्ञात उपयोगकर्ता आईडी के साथ, फिर से साइन इन करने में सक्षम होने के लिए उपयोगी हो सकता है, समाप्ति समय तक (जैसे टोकन/आदि को सहेजना)। आखिरकार, किसी ईमेल को लिंक करने का प्रयास जो पहले से उपयोग में है सत्यापन कोड के माध्यम से मौजूदा ईमेल/पासवर्ड उपयोगकर्ता आईडी के साथ गुमनाम उपयोगकर्ता आईडी को विलय करें।

1

थोक हटाना रद्द करने के लिए कोई तरीका नहीं है, तथापि, निम्नलिखित चाल मेरे लिए काम किया:

मैं Macro Recorder इस्तेमाल किया है और यह एक आकर्षण की तरह काम किया। उपयोगकर्ताओं को हटाने के कंसोल में बस कुछ पुनरावृत्तियों को रिकॉर्ड किया गया, इसे 500 बार दोहराने के लिए सेट किया गया और चले गए।

2

आप प्रोग्रामेटिक रूप से उपयोगकर्ताओं को हटाने के लिए फायरबेस के admin API का उपयोग कर सकते हैं। आपको अपने डेटाबेस में उपयोगकर्ता सूची को स्टोर करने की आवश्यकता होगी क्योंकि फ़ायरबेस उस के लिए कोई क्वेरी प्रदान नहीं करता है।

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