Firebase Auth और रीयल-टाइम database applications · पाठ

कस्टम दावे और सुरक्षा नियम

उपयोगकर्ताओं के लिए कस्टम दावे परिभाषित करें और संसाधनों तक पहुँच नियंत्रित करने के लिए उन्हें Firebase सुरक्षा नियमों के साथ एकीकृत करें

पाठ 3, कुल 4 में से11 चरण

कस्टम दावे और सुरक्षा नियम, CoddyKit पर Firebase Auth और रीयल-टाइम database applications का एक निःशुल्क पाठ है। यह 4 में से 3वाँ पाठ है। इस अध्ययन पथ के 3 तक कोई भी पाठ पूरा पढ़ना निःशुल्क है — इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ व्यावहारिक अभ्यास भी उपलब्ध कराता है। यह Firebase Auth और रीयल-टाइम database applications सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Firebase Auth और रीयल-टाइम database applications पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

Custom Claims का परिचय

बुनियादी उपयोगकर्ता प्रमाणीकरण से आगे, Firebase आपको Custom Claims परिभाषित करने की सुविधा देता है। ये कुंजी-मान युग्म होते हैं, जिन्हें आप उपयोगकर्ता के ID token में जोड़ सकते हैं और उपयोगकर्ता के बारे में अतिरिक्त जानकारी दे सकते हैं।

इन्हें उपयोगकर्ता की पहचान से जुड़े कस्टम लेबल या बैज की तरह समझें।

Custom Claims का उपयोग क्यों करें?

Custom claims role-based access control (RBAC) लागू करने या आपके app में विशेष अनुमतियाँ देने के लिए उपयोगी होते हैं। केवल यह जानने के बजाय कि उपयोगकर्ता 'कौन' है, आप यह भी जान सकते हैं कि उसे 'क्या' करने की अनुमति है।

  • उपयोगकर्ताओं को 'admin', 'editor' या 'subscriber' के रूप में निर्धारित करें।
  • प्रीमियम सुविधाओं या सामग्री की पहुँच दें।
  • कस्टम विशेषताओं के आधार पर डेटा की पहुँच नियंत्रित करें।

Claims सेट करना (सर्वर-साइड)

Custom claims संवेदनशील होते हैं और इन्हें आपके बैकएंड सर्वर जैसे विश्वसनीय environment से Firebase Admin SDK का उपयोग करके ही सेट किया जाना चाहिए। इससे दुर्भावनापूर्ण उपयोगकर्ता स्वयं को बढ़े हुए अधिकार देने से रोके जाते हैं।

Claims सेट किए जाने पर उपयोगकर्ता का ID token अपडेट हो जाता है। नए claims प्राप्त करने के लिए clients को अपना token refresh करना होगा।

Claims सेट करने का अनुकरण

यह वैचारिक उदाहरण दिखाता है कि claims कैसे काम करते हैं। वास्तविक बैकएंड में Admin SDK उपयोगकर्ता की profile अपडेट करेगा और फिर ये claims उसके ID token में उपलब्ध होंगे।

import java.util.HashMap;
import java.util.Map;

public class Main {
  public static void main(String[] args) {
    String userId = "user123";
    Map<String, Object> claims = new HashMap<>();

    // --- Server-side action (simulated) ---
    System.out.println("Server sets claims for " + userId);
    claims.put("role", "admin");
    claims.put("level", "premium");

    // --- Client-side action (simulated after token refresh) ---
    System.out.println("\nClient receives ID token with claims:");
    System.out.println("User ID: " + userId);
    System.out.println("Claims: " + claims);

    // Client checks for specific claim
    if (claims.containsKey("role") && claims.get("role").equals("admin")) {
      System.out.println("Access check: User is an admin.");
    } else {
      System.out.println("Access check: Not an admin.");
    }
  }
}

Claims तक पहुँचना (क्लाइंट-साइड)

जब उपयोगकर्ता लॉग इन कर लेता है और उसका ID token refresh हो जाता है (जैसे लॉगिन के बाद या स्पष्ट रूप से refresh करने पर), तब आपका क्लाइंट-साइड application token से इन custom claims को पढ़ सकता है।

Claims ID token के भीतर शामिल होते हैं, जो JWT (JSON Web Token) होता है।

Claims rules को कैसे शक्तिशाली बनाते हैं

Custom claims की वास्तविक शक्ति तब सामने आती है, जब आप उन्हें Firebase Security Rules के साथ जोड़ते हैं। उपयोगकर्ता के ID token पर सेट किया गया कोई भी custom claim आपकी security rules में स्वतः उपलब्ध होता है।

इससे आप अपने Realtime Database या Cloud Firestore के लिए अत्यंत विशिष्ट और गतिशील access control logic बना सकते हैं।

Rule उदाहरण: Admin पहुँच

यहाँ बताया गया है कि Firebase Realtime Database Security Rule पहुँच को किसी विशिष्ट डेटा path तक सीमित करने के लिए custom admin: true claim का उपयोग कैसे कर सकता है।

केवल वे उपयोगकर्ता /adminContent को पढ़ या लिख सकेंगे, जिनके token में यह claim होगा।

{
  "rules": {
    "adminContent": {
      // Only users with 'admin: true' claim can read/write
      ".read": "auth.token.admin === true",
      ".write": "auth.token.admin === true"
    },
    "publicContent": {
      // Anyone authenticated can read, no special claims needed
      ".read": "auth != null",
      ".write": "false"
    }
  }
}

Rule उदाहरण: प्रीमियम सामग्री

आप claims का उपयोग पहुँच के अलग-अलग स्तरों के लिए भी कर सकते हैं। यह rule /premiumContent तक पढ़ने की पहुँच तभी देता है, जब उपयोगकर्ता के पास level: 'premium' claim हो।

यह केवल यह जाँचने की तुलना में कहीं अधिक लचीला है कि उपयोगकर्ता लॉग इन है या नहीं।

{
  "rules": {
    "premiumContent": {
      // Only users with 'level: premium' claim can read
      ".read": "auth.token.level === 'premium'",
      ".write": "false"
    },
    "users": {
      "$uid": {
        ".read": "auth.uid === $uid",
        ".write": "auth.uid === $uid"
      }
    }
  }
}

Claims के लिए सर्वोत्तम अभ्यास

Custom claims का कुशल और सुरक्षित उपयोग सुनिश्चित करने के लिए:

  • Claims छोटे रखें: ID tokens के आकार की सीमाएँ होती हैं।
  • संवेदनशील डेटा संग्रहीत न करें: Claims base64 encoded होते हैं, encrypted नहीं।
  • प्राधिकरण के लिए उपयोग करें: सामान्य डेटा संग्रहण के लिए नहीं।
  • Token refresh: Claims बदलने पर उपयोगकर्ताओं को अपना ID token refresh करने की याद दिलाएँ।

Claims प्रश्नोत्तरी

आपने सीखा कि custom claims उपयोगकर्ता की भूमिकाओं और security rules को कैसे बेहतर बनाते हैं। निम्नलिखित में से कौन-सा कथन Firebase Custom Claims के एक महत्वपूर्ण पहलू का सही वर्णन करता है?

पुनरावलोकन: Custom Claims और Rules

इस पाठ में Firebase Custom Claims के बारे में बताया गया, जो उन्नत उपयोगकर्ता प्रबंधन की एक शक्तिशाली सुविधा है।

  • Custom claims से आप उपयोगकर्ता के ID tokens में कस्टम विशेषताएँ जोड़ सकते हैं।
  • इन्हें आपके बैकएंड पर Firebase Admin SDK का उपयोग करके सुरक्षित रूप से सेट किया जाता है।
  • ये claims Firebase Security Rules के साथ सहज रूप से एकीकृत होते हैं, जिससे आपके app के संसाधनों के लिए मज़बूत, भूमिका-आधारित access control संभव होता है।
  • परिवर्तनों को प्रभावी बनाने के लिए client के ID token को refresh करना हमेशा याद रखें।
शुरुआत निःशुल्क

एआई शिक्षक के साथ Firebase Auth और रीयल-टाइम database applications सीखें — निःशुल्क

अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।

पाठ्यक्रम
11
पाठ
44

अक्सर पूछे जाने वाले प्रश्न

क्या “कस्टम दावे और सुरक्षा नियम” पाठ निःशुल्क है?

हाँ — Firebase Auth और रीयल-टाइम database applications अध्ययन पथ के 3 तक कोई भी पाठ, जिसमें “कस्टम दावे और सुरक्षा नियम” भी शामिल है, यहाँ वेब पर पूरा पढ़ना निःशुल्क है। इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ इंटरैक्टिव अभ्यास भी उपलब्ध कराता है। Firebase Auth और रीयल-टाइम database applications पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

“कस्टम दावे और सुरक्षा नियम” में मैं क्या सीखूँगा?

उपयोगकर्ताओं के लिए कस्टम दावे परिभाषित करें और संसाधनों तक पहुँच नियंत्रित करने के लिए उन्हें Firebase सुरक्षा नियमों के साथ एकीकृत करें आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Firebase Auth और रीयल-टाइम database applications का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।

क्या Firebase Auth और रीयल-टाइम database applications शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?

पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Firebase Auth और रीयल-टाइम database applications शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 3वाँ पाठ है।

“कस्टम दावे और सुरक्षा नियम” पाठ पूरा करने में कितना समय लगता है?

CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।

क्या मैं इस Firebase Auth और रीयल-टाइम database applications पाठ में कोड लिख और चला सकता हूँ?

हाँ। हर Firebase Auth और रीयल-टाइम database applications पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।

इस पाठ्यक्रम के सभी पाठ

  1. फ़ोन नंबर प्रमाणीकरण
  2. बहु-कारक प्रमाणीकरण (MFA)
  3. कस्टम दावे और सुरक्षा नियम
  4. खाता लिंक करना और प्रदाता प्रबंधन
← Firebase Auth और रीयल-टाइम database applications पर वापस जाएँ