2016-02-07 6 views
5

क्या सुरक्षा नियम में इन ईमेल को सुरक्षित रूप से प्राप्त करने का कोई तरीका है। तो है कि पूरे अनुप्रयोग, या एक आवेदन की धारा एक ईमेल पता प्रत्यय करने के लिए सुरक्षित हैउपयोगकर्ताओं के आधार पर एक सुरक्षा नियम फ़ायरबेस सेट करें ohuth ईमेल

{ 
    ".read": "auth.google.email.matches(/@example.com$/)" 
    ".write": "auth.google.email.matches(/@example.com$/)" 
} 

:

आदर्श रूप में मैं जैसा कोई नियम बनाना चाहता था। यह मेरे आवेदन को प्रबंधित करने का एक आसान तरीका है क्योंकि उपयोगकर्ताओं को उनके पास मौजूद ईमेल ईमेल के आधार पर पहुंच दी जाएगी, सब कुछ या कुछ भी नहीं।

वैकल्पिक रूप से उन उपयोगकर्ताओं को ईमेल पता सहेजने का एक तरीका है जो वे तब लिख नहीं सकते हैं, जो मुझे विश्वास है कि मैं एक समान प्रक्रिया प्राप्त कर सकता हूं।

उत्तर

3

लेखक। सुरक्षा नियमों में ओथ प्रदाताओं के गुण उपलब्ध नहीं हैं। प्रति documentation on the auth variable:

पूर्वनिर्धारित auth चर से पहले प्रमाणीकरण जगह लेता रिक्त है। एक बार एक उपयोगकर्ता Firebase लॉग इन के प्रमाणन विधि द्वारा प्रमाणीकृत है, यह निम्नलिखित विशेषताओं में शामिल होंगे:

प्रदाता प्रमाणीकरण विधि ("पासवर्ड" का इस्तेमाल किया, "गुमनाम", "फेसबुक", "GitHub", "गूगल", या "ट्विटर")।

uid एक अद्वितीय उपयोगकर्ता आईडी, सभी प्रदाताओं में अद्वितीय होने की गारंटी है।

तो आप ईमेल पते के आधार पर डेटा सुरक्षित नहीं कर सकते हैं, जब तक कि आप एक सुरक्षित तरीके से ईमेल डोमेन प्रदान करने के लिए कोई सर्वर शामिल न करें।

एक बार जब आप एक सर्वर, आप या तो शामिल:

  • ईमेल पते की पुष्टि और डेटाबेस में सत्यापित ईमेल पते की दुकान। फिर आप root.child('users').child(auth.uid).child('emailDomain').val()
  • mint your own tokens जैसे ईमेल डोमेन को शामिल करते हुए अपने सुरक्षा नियमों में इसका उपयोग कर सकते हैं, ताकि यह आपके सुरक्षा नियमों में auth.emailDomain जैसे auth चर में उपलब्ध हो।
संबंधित मुद्दे