JSON वेब टोकन

JSON Web Token (JWT), एक ओपन वेब स्टैंडर्ड है. इसका इस्तेमाल पुष्टि करने के लिए किया जाता है और क्लाइंट और सर्वर के बीच जानकारी के लेन-देन की अनुमति देना. जब कोई ऐप्लिकेशन उपयोगकर्ता सबसे पहले सही रोल क्रेडेंशियल के साथ साइन इन करता है, इसलिए सर्वर जनरेट करता है और बाद के अनुरोधों के साथ इस्तेमाल करने के लिए, कोड में बदला गया और डिजिटल रूप से साइन किया गया JWT दिखाता है. यह प्रोसेस, उपयोगकर्ता की पुष्टि करती है और उसे रूट ऐक्सेस करने की अनुमति देती है, सेवाओं और संसाधनों को उनकी भूमिका के हिसाब से मैनेज किया जा सकता है.

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

इसके उलट, आपके बैकएंड को ऐप्लिकेशन के डिफ़ॉल्ट क्रेडेंशियल के मानक तरीकों का इस्तेमाल करके, Fleet Engine के लिए पुष्टि करनी चाहिए और अनुमति देनी चाहिए.

एपीआई पासकोड के उलट, JWT कम समय तक काम करते हैं. साथ ही, इनकी मदद से सिर्फ़ उन कार्रवाइयों को किया जा सकता है जिनके लिए भूमिका को अनुमति मिली है. JWT के बारे में ज़्यादा जानकारी के लिए, JSON वेब देखें Wikipedia पर टोकन की सुविधा. ऐक्सेस की भूमिकाओं के बारे में ज़्यादा जानने के लिए, सेवा खाता भूमिकाओं में दी गई जानकारी देखें.

JWT एलिमेंट

JWT में एक हेडर और एक दावा सेक्शन होता है. हेडर सेक्शन में, सेवा खातों से मिली निजी कुंजी और एन्क्रिप्शन एल्गोरिदम जैसी जानकारी होती है. दावा अनुभाग में JWT की JWT का दावा है कि समय, जीने का समय, ऐक्सेस करने के लिए, ऐक्सेस और अनुमति से जुड़ी अन्य जानकारी का ऐक्सेस; इसके लिए उदाहरण के लिए, डिलीवरी वाहन का आईडी.

नीचे दी गई टेबल में, JWT फ़ील्ड के बारे में पूरी जानकारी दी गई है. साथ ही, इस बारे में खास जानकारी कि इनकी वैल्यू कहां मिल सकती हैं फ़ील्ड में डेटा डालना होगा.

JWT हेडर फ़ील्ड

फ़ील्ड

जानकारी

Alg

एल्गोरिदम का इस्तेमाल करना है. `RS256`.

typ

टोकन का टाइप. `JWT`.

बच्चा

आपके सेवा खाते की निजी कुंजी का आईडी. आपको यह वैल्यू यहां दिखेगी आपके सेवा खाते की JSON फ़ाइल का private_key_id फ़ील्ड. कंपनी या ब्रैंड पक्का करें कि सेवा खाते की ऐसी कुंजी का इस्तेमाल किया जा रहा हो जिसके पास अनुमतियों के सही लेवल की जानकारी हो.

JWT के दावों के फ़ील्ड

फ़ील्ड

जानकारी

iss

आपके सेवा खाते का ईमेल पता, जो आपके सेवा खाते की JSON फ़ाइल का client_email फ़ील्ड.

बदले में खेलने वाला खिलाड़ी

आपके सेवा खाते का ईमेल पता, जो आपके सेवा खाते की JSON फ़ाइल का client_email फ़ील्ड.

ऑडियो

आपके सेवा खाते का SERVICE_NAME, इस मामले में https://fleetengine.googleapis.com/

iat

JWT बनाए जाने का टाइमस्टैंप, जो सेकंड में बताया गया हो 00:00:00 से बीत चुका है UTC, January 1, 1970. तिरछा होने पर 10 मिनट दें. अगर टाइमस्टैंप बहुत पुराना या आने वाले समय का है, तो हो सकता है कि सर्वर गड़बड़ी की सूचना दे.

exp

JWT की समय-सीमा खत्म होने का टाइमस्टैंप, जिसे बीते सेकंड में बताया जाता है 00:00:00 UTC, January 1, 1970 से. अनुरोध पूरा नहीं होता अगर यह टाइमस्टैंप, आने वाले समय में एक घंटे से ज़्यादा का है.

ऑथराइज़ेशन

इस्तेमाल के उदाहरण के हिसाब से, इसमें deliveryvehicleid, trackingid, taskid या taskids.

अगर टास्क आईडी की जानकारी दी जा रही है, तो अनुमति का दायरा इनमें से किसी एक फ़ॉर्मैट में एक कलेक्शन होना चाहिए:

"taskids": ["task_id_one","task_id_two"]

या

"taskids": ["*"]

फ़्लीट इंजन JWT के दावे

फ़्लीट इंजन, निजी दावों का इस्तेमाल करता है. निजी दावों का इस्तेमाल करने से यह पक्का होता है कि सिर्फ़ अधिकृत क्लाइंट अपने डेटा तक पहुंच सकते हैं.

उदाहरण के लिए, जब आपका सर्वर ड्राइवर के मोबाइल के लिए JSON वेब टोकन जारी करता है डिवाइस में, फ़ाइल में vehicleid का दावा या उस ड्राइवर के वाहन आईडी की वैल्यू के साथ deliveryvehicleid दावा. इसके बाद, ड्राइवर की भूमिका के आधार पर, JWT किसी खास वाहन के लिए ही ऐक्सेस देते हैं आईडी के साथ-साथ आपकी पसंद के मुताबिक बनाया गया वाहन का आईडी.

फ़्लीट इंजन इन निजी दावों का इस्तेमाल करता है:

मांग पर यात्राएं

  • vehicleid:
    • यात्रा के दौरान, ड्राइवर SDK टूल हमेशा इस दावे का इस्तेमाल करता है या वाहन. बदलाव करने से पहले, Fleet Engine का बैकएंड यह पक्का करता है कि वाहन, अनुरोध की गई यात्रा से जुड़ा हो.
    • JWT में वाहन और यात्रा, दोनों की कवर की जा सकती है ऑपरेशन की ज़रूरत नहीं होने पर भी, इससे JWT में हस्ताक्षर करने की प्रोसेस आसान हो सकती है लागू करना.
  • tripid:
    • उपभोक्ता SDK टूल, हमेशा इस दावे का इस्तेमाल करता है.
    • जेडब्लयूटी में वाहन और यात्रा, दोनों तरह के ऑपरेशन की जानकारी शामिल हो सकती है. भले ही ज़रूरी न हो, जिससे टोकन पर हस्ताक्षर करना आसान हो सकता है लागू करना.

शेड्यूल किए गए टास्क

  • deliveryvehicleid

    हर डिलीवरी वाले वाहन पर कॉल करते समय इस्तेमाल करें एपीआई.

  • taskid

    हर टास्क के लिए एपीआई को कॉल करते समय इस्तेमाल करें.

  • taskids

    कॉल करते समय उपयोग करें BatchCreateTasksAPI. यह दावा कलेक्शन फ़ॉर्मैट में होना चाहिए, साथ ही, कलेक्शन में वे सभी टास्क आईडी होने चाहिए जो इस टास्क को पूरा करने के लिए ज़रूरी हैं अनुरोध. delivervehicleid को शामिल न करें, trackingid या taskid दावे.

  • trackingid

    इस लिंक पर कॉल करते समय GetTaskTrackingInfoAPI. दावा ट्रैकिंग से मेल खाना चाहिए अनुरोध में मौजूद आईडी. delivervehicleid को शामिल न करें, taskid या taskids दावे.

आगे क्या करना है