Android ऐप्लिकेशन और वेबसाइटों पर आसानी से क्रेडेंशियल शेयर करने की सुविधा सेट अप करें

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

सबसे सही तरीके

उपयोगकर्ताओं को बेहतर अनुभव और सुरक्षा मिले, इसके लिए इन टचपॉइंट पर क्रेडेंशियल शेयर करने की सुविधा लागू करें:

  • साइन-इन फ़ॉर्म: क्रेडेंशियल अपने-आप भरने की सुविधा चालू करें.
  • साइन-अप फ़ॉर्म: सभी प्लैटफ़ॉर्म पर इस्तेमाल करने के लिए, नए क्रेडेंशियल सुरक्षित तरीके से सेव करें.
  • पासवर्ड बदलने का फ़ॉर्म: सभी प्लैटफ़ॉर्म पर पासवर्ड अपडेट सिंक करें.
  • पासवर्ड रीसेट करने का फ़ॉर्म: सभी प्लैटफ़ॉर्म पर पासवर्ड रीसेट करने की अनुमति दें.
  • वेबव्यू डोमेन: अपने ऐप्लिकेशन में, खाता मैनेज करने वाले वेबव्यू डोमेन के साथ क्रेडेंशियल शेयर करने की सुविधा जोड़ें. जैसे, होस्ट साइन इन, साइन अप, पासवर्ड बदलना या पासवर्ड रीसेट करने के फ़ॉर्म.
  • Android ऐप्लिकेशन

इस तरीके से, क्रेडेंशियल मैनेजमेंट का एक यूनिफ़ाइड सिस्टम बनता है. इससे उपयोगकर्ताओं को आसानी होती है और सुरक्षा भी बेहतर होती है.

हमारा सुझाव है कि खाता मैनेज करने वाली वेबसाइटें डिज़ाइन करते समय, आप खाता मैनेज करने वाली साइटों के लिए इन सबसे सही तरीकों को अपनाएं:

हमारा सुझाव है कि Android ऐप्लिकेशन डिज़ाइन करते समय, अपने ऐप्लिकेशन को Android क्रेडेंशियल मैनेजर के साथ इंटिग्रेट करें.

ज़रूरी शर्तें

आसानी से क्रेडेंशियल शेयर करने की सुविधा सेट अप करने से पहले, पक्का करें कि आपके पास हर प्लैटफ़ॉर्म के लिए ये चीज़ें हों:

हर Android ऐप्लिकेशन के लिए:

हर वेबसाइट के लिए:

  • डिजिटल एसेट लिंक (डीएल) सिंटैक्स का पालन करके, हर डोमेन पर /.well-known/assetlinks.json फ़ाइल पब्लिश करने की सुविधा.
  • खाता मैनेज करने वाले सभी डोमेन (साइन इन, साइन अप, पासवर्ड बदलना या पासवर्ड रीसेट करने वाले फ़ॉर्म) को एचटीटीपीएस से ऐक्सेस किया जा सकता हो.

Android ऐप्लिकेशन और वेबसाइटों पर क्रेडेंशियल आसानी से शेयर करने की सुविधा चालू करना

सभी ऐप्लिकेशन और वेबसाइटों पर क्रेडेंशियल शेयर करने की सुविधा को आसानी से कॉन्फ़िगर करने के लिए, डिजिटल एसेट लिंक स्टेटमेंट की सूचियां बनाई और पब्लिश की जाती हैं. इन सूचियों में यह बताया जाता है कि किन इकाइयों (वेबसाइटों या Android ऐप्लिकेशन) को क्रेडेंशियल शेयर करने की अनुमति है.

क्रेडेंशियल शेयर करने के संबंध का एलान करने के लिए:

  1. डीएल के स्टेटमेंट की सूची के सिंटैक्स का पालन करके, वेबसाइट और Android ऐप्लिकेशन से लिंक करने वाले स्टेटमेंट के साथ assetlinks.json फ़ाइल बनाएं:

    [
      {
        "relation":[
          "delegate_permission/common.get_login_creds"
        ],
        "target":{
          "namespace":"web",
          "site":URL
        }
      },
      {
        "relation":[
          "delegate_permission/common.get_login_creds"
        ],
        "target":{
          "namespace":"android_app",
          "package_name":"APP_ID",
          "sha256_cert_fingerprints":[
            "SHA_HEX_VALUE"
          ]
        }
      }
    ]
    

    यहां URL आपकी साइट का यूआरएल है, APP_ID आपका Android ऐप्लिकेशन आईडी है, और SHA_HEX_VALUE आपके Android ऐप्लिकेशन के साइनिंग सर्टिफ़िकेट का SHA256 फ़िंगरप्रिंट है.

    relation फ़ील्ड में, उस संबंध की जानकारी दी जाती है जिसका एलान किया जा रहा है. यह बताने के लिए कि ऐप्लिकेशन और साइटें, साइन-इन करने के लिए इस्तेमाल किए जाने वाले क्रेडेंशियल शेयर करते हैं, संबंधों की जानकारी delegate_permission/common.get_login_creds के तौर पर दें. डीएल में रिलेशन स्ट्रिंग के बारे में ज़्यादा जानें.

    target फ़ील्ड एक ऑब्जेक्ट है, जो उस एसेट के बारे में बताता है जिस पर एलान लागू होता है.

    ये फ़ील्ड किसी वेबसाइट की पहचान करते हैं:

    namespace

    web

    site

    वेबसाइट का यूआरएल, https://domain[:optional_port] फ़ॉर्मैट में होना चाहिए. उदाहरण के लिए, https://www.example.com.

    domain एट्रिब्यूट के लिए, पूरी तरह क्वालिफ़ाइड डोमेन नेम का इस्तेमाल करना ज़रूरी है. साथ ही, एचटीटीपीएस के लिए पोर्ट 443 का इस्तेमाल करते समय, optional_port एट्रिब्यूट को हटाना होगा.

    site टारगेट सिर्फ़ रूट डोमेन हो सकता है: किसी ऐप्लिकेशन असोसिएशन को किसी खास सबडायरेक्ट्री तक सीमित नहीं किया जा सकता. यूआरएल में पाथ शामिल न करें, जैसे कि आखिर में स्लैश.

    सबडोमेन को मैच नहीं माना जाता: इसका मतलब है कि अगर आपने domain को www.example.com के तौर पर सेट किया है, तो डोमेन www.counter.example.com आपके ऐप्लिकेशन से नहीं जुड़ा है.

    इन फ़ील्ड से किसी Android ऐप्लिकेशन की पहचान की जाती है:

    नाम स्थान

    android_app

    package_name

    ऐप्लिकेशन के मेनिफ़ेस्ट में बताया गया पैकेज का नाम. उदाहरण के लिए, com.example.android

    sha256_cert_fingerprints

    आपके ऐप्लिकेशन के साइनिंग सर्टिफ़िकेट के SHA256 फ़िंगरप्रिंट.

  2. डिजिटल ऐसेट लिंक JSON फ़ाइल को, साइन-इन करने वाले डोमेन पर इस लोकेशन पर होस्ट करें: https://DOMAIN[:OPTIONAL_PORT]/.well-known/assetlinks.json इसमें DOMAIN पूरी तरह क्वालिफ़ाइड है, और एचटीटीपीएस के लिए पोर्ट 443 का इस्तेमाल करते समय OPTIONAL_PORT को नहीं हटाना चाहिए.

  3. Android ऐप्लिकेशन में असोसिएशन का एलान करने के लिए, अपने Android ऐप्लिकेशन की res/values/strings.xml फ़ाइल में एक स्टेटमेंट जोड़ें. यह स्टेटमेंट, पहले चरण में बनाई गई स्टेटमेंट की सूची से जुड़ा होना चाहिए. ऐसा ऑब्जेक्ट जोड़ें जिसमें assetlinks.json फ़ाइलों के बारे में जानकारी हो, जिन्हें लोड करना है. उदाहरण के लिए:

      <string name="asset_statements" translatable="false">
    [{
      \"include\": \"https://DOMAIN[:OPTIONAL_PORT]/.well-known/assetlinks.json\"
    }]
    </string>
    

    DOMAIN और OPTIONAL_PORT को बदलें (एचटीटीपीएस के लिए पोर्ट 443 का इस्तेमाल करते समय, इसे हटाना होगा)—उदाहरण के लिए, https://www.example.com. स्ट्रिंग में इस्तेमाल किए गए सभी अपॉस्ट्रफ़ और कोटेशन मार्क को एस्केप करें.

    strings.xml फ़ाइल में JSON स्निपेट भी जोड़ा जा सकता है, जैसा कि डीएल के दस्तावेज़ में दिखाया गया है. हालांकि, include स्टेटमेंट का इस्तेमाल करके, अपने ऐप्लिकेशन का नया वर्शन पब्लिश किए बिना स्टेटमेंट में बदलाव किया जा सकता है.

  4. <application> के तहत अपने ऐप्लिकेशन की AndroidManifest.xml फ़ाइल में यह लाइन जोड़कर, मेनिफ़ेस्ट में दिए गए स्टेटमेंट का रेफ़रंस लें:

    <meta-data android:name="asset_statements" android:resource="@string/asset_statements"/>
    
  5. Google Play Console में अपने Android ऐप्लिकेशन का नया वर्शन पब्लिश करना

यह तरीका अपनाने के बाद, आपने अपनी वेबसाइट और Android ऐप्लिकेशन के बीच क्रेडेंशियल शेयर करने की सुविधा सेट अप कर ली है.

ध्यान दें कि क्रेडेंशियल शेयर करने के लिए डीएल सेट अप करने का यह एकमात्र मान्य तरीका नहीं है. हालांकि, इस तरीके से क्रेडेंशियल शेयर करने वाले नेटवर्क में नई इकाइयों को जोड़ने की प्रोसेस को आसान बनाया जा सकता है. साथ ही, कोड को फिर से इस्तेमाल करने में मदद मिलती है और अपडेट के दौरान गड़बड़ियों की संभावना कम हो जाती है.