ब्लॉक स्टोर

कई उपयोगकर्ता अभी भी एक नया Android डिवाइस सेट करते समय अपने स्वयं के क्रेडेंशियल प्रबंधित करते हैं। यह मैनुअल प्रक्रिया चुनौतीपूर्ण हो सकती है और अक्सर इसका परिणाम खराब उपयोगकर्ता अनुभव होता है। ब्लॉक स्टोर एपीआई, के द्वारा संचालित एक पुस्तकालय Google Play सेवाओं , दिखता क्षुधा उपयोगकर्ता पासवर्ड सहेजने के साथ जुड़े जटिलता या सुरक्षा जोखिम के बिना उपयोगकर्ता प्रमाणिकता को सहेजने के लिए एक तरीका प्रदान करके इस हल करने के लिए।

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

ब्लॉक स्टोर का उपयोग करने के लाभों में निम्नलिखित शामिल हैं:

  • डेवलपर्स के लिए एन्क्रिप्टेड क्रेडेंशियल स्टोरेज समाधान। जब भी संभव हो क्रेडेंशियल्स एंड-टू-एंड एन्क्रिप्टेड होते हैं।
  • उपयोगकर्ता नाम और पासवर्ड के बजाय टोकन सहेजें।
  • साइन-इन प्रवाह से घर्षण को हटा दें।
  • उपयोगकर्ताओं को जटिल पासवर्ड के प्रबंधन के बोझ से बचाएं।
  • Google उपयोगकर्ता की पहचान की पुष्टि करता है.

शुरू करने से पहले

अपना ऐप कॉन्फ़िगर करें

  1. अपनी परियोजना-स्तर में build.gradle फ़ाइल में शामिल हैं, गूगल के Maven भंडार दोनों अपने में buildscript और allprojects वर्गों:

    buildscript {
        repositories {
            google()
        }
    }
    
    allprojects {
        repositories {
            google()
        }
    }
    
  2. अपने मॉड्यूल के एप्लिकेशन-स्तरीय Gradle फ़ाइल है, जो आमतौर पर है करने के लिए ब्लॉक स्टोर एपीआई के लिए निर्भरता जोड़े app/build.gradle :

    dependencies {
      implementation 'com.google.android.gms:play-services-auth-blockstore:16.0.2'
    }
    

यह काम किस प्रकार करता है

जब कोई उपयोगकर्ता आपके ऐप में साइन इन करता है, तो आप उस उपयोगकर्ता के लिए बनाए गए प्रमाणीकरण टोकन को ब्लॉक स्टोर में सहेज सकते हैं। यह फोन करके किया जाता है setBytes() का एक उदाहरण पर StoreBytesData.Builder स्रोत डिवाइस के लिए उपयोगकर्ता के क्रेडेंशियल्स स्टोर करने के लिए। आपके द्वारा टोकन को ब्लॉक स्टोर से सहेजने के बाद, टोकन को एन्क्रिप्ट किया जाता है और डिवाइस पर स्थानीय रूप से संग्रहीत किया जाता है।

निम्न कोड स्निपेट दिखाता है कि प्रमाणीकरण टोकन को कैसे सहेजना है:

val client = Blockstore.getClient(this)
val data = StoreBytesData.Builder()
        .setBytes(/* BYTE_ARRAY */)
        .build()
client.storeBytes(data)
        .addOnSuccessListener{ result ->
            Log.d(TAG, "Stored: ${result.getBytesStored()}")
        }

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

val client = Blockstore.getClient(this)
client.retrieveBytes()
        .addOnSuccessListener { result ->
            Log.d(TAG, "Retrieved: ${String(result)}")
}