रोटेटिंग बारकोड

परिचय

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

एपीआई का संदर्भ

बारकोड को घुमाने के बारे में तकनीकी जानकारी के लिए, यह देखें: RotatingBarcode टाइप.

पेलोड का उदाहरण

JSON
{
  "rotatingBarcode": {
    "type": "QR_CODE",
    "valuePattern": "MyRotatingBarcode-{totp_timestamp_seconds}-{totp_value_0}",
    "alternateText": "Ticket#: 1234567890",
    "totpDetails": {
      "algorithm": "TOTP_SHA1",
      "periodMillis": "3000",
      "parameters": [
        {
          "key": "3132333435363738393031323334353637383930",
          "valueLength": "8"
        }
      ]
    }
  }
}

फ़ॉलबैक मैकेनिज़्म

उपयोगकर्ता के डिवाइस पर, किसी भी समय सिर्फ़ एक रिडेंप्शन मेकेनिज्म का इस्तेमाल किया जाता है. यह इस बात पर निर्भर करता है कि पास को कैसे कॉन्फ़िगर किया गया है और डिवाइस की क्षमताएं क्या हैं. प्राथमिकता के हिसाब से, नीचे दिए गए रिडीम करने के तरीकों का इस्तेमाल किया जाता है:

  1. स्मार्ट टैप: अगर स्मार्ट-टैप पेलोड तय किया गया है और डिवाइस पर एनएफ़सी/एचसीई की सुविधा काम करती है
    • ध्यान दें, उपयोगकर्ता “कोड दिखाएं” पर क्लिक करके, इसे बदल सकता है. इससे, घूमने वाला बारकोड/स्टैटिक बारकोड ज़बरदस्ती दिखेगा.
  2. रोटेटिंग बारकोड: अगर रोटेटिंग बारकोड पेलोड मौजूद है
  3. स्टैटिक बारकोड: अगर बारकोड पेलोड दिया गया है

एक से ज़्यादा रिडेंप्शन पेलोड तय करने से यह पक्का हो सकता है कि सभी उपयोगकर्ताओं को सुरक्षा से जुड़ी समस्याएं हो सकती हैं. विशेष रूप से, घूमने वाले बारकोड के लिए फ़ॉलबैक बार-बार देखे जा सकने वाले बारकोड. स्टैटिक बारकोड फ़ॉलबैक सिर्फ़ वेब व्यू में दिखाया जाएगा या उन क्लाइंट पर दिखाया जाएगा जो घूमने वाले बारकोड के साथ काम नहीं करते. हमें उम्मीद है कि आज के हिसाब से, Google Wallet के सभी क्लाइंट, घूमने वाले बारकोड के साथ काम करेंगे.

फ़्लो सेव करना

Google Wallet API में आपको कई तरह के फ़्लो मिलते हैं, जैसे:

  • समय की बचत या समय से पहले, उपहार कार्ड की क्लास बनाना
  • अपने JWT में पूरा ऑब्जेक्ट भेजना या पहले ऑब्जेक्ट सहेजने का फिर अपने JWT में आईडी के आधार पर उनका संदर्भ दे रहे हैं
  • ऑब्जेक्ट सेव होने के बाद अपडेट करना

सुझाया गया घूमने वाला Barcode फ़ील्ड, इन सभी फ़्लो के साथ काम करता है, हालांकि, सुरक्षा को बेहतर बनाने के लिए, हम ये सुझाव देते हैं:

  • एपीआई की मदद से, object:insert एपीआई का इस्तेमाल करके Google Wallet सर्वर का इस्तेमाल करें और 'Google Wallet में जोड़ें' बटन को कॉन्फ़िगर करके अपने JWT में आईडी से खास ऑब्जेक्ट का रेफ़रंस दें. इससे यह पक्का होता है कि नतीजे के तौर पर मिलने वाले JWT में, रोटेट होने वाले बारकोड की सीक्रेट कुंजी शामिल न हो.
  • ओटीपी की ऐसी सीक्रेट कुंजी का इस्तेमाल करना जिसका दायरा एक पास तक हो
  • पास के पूरे समय के लिए, पासकोड को अपडेट किए जाने तक मान्य माना जाता है. हमें उम्मीद है कि इस बटन को इस दौरान किसी भी फ़्रीक्वेंसी पर अपडेट नहीं किया जाएगा सामान्य कार्रवाई के दौरान.

नीचे दिया गया डायग्राम, अलग-अलग कलाकारों के बीच फ़्लो को दिखाता है इंटिग्रेशन के लिए:

रोटेटिंग बारकोड इस्तेमाल करने का सीक्वेंस डायग्राम