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

परिचय

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

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

बारकोड को घुमाने के बारे में तकनीकी जानकारी के लिए, यह देखें: 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 में आईडी के आधार पर उनका संदर्भ दे रहे हैं
  • ऑब्जेक्ट सेव होने के बाद अपडेट करना

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

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

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

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