JSON Web Token (JWT), एक ओपन वेब स्टैंडर्ड है. इसका इस्तेमाल पुष्टि करने के लिए किया जाता है और क्लाइंट और सर्वर के बीच जानकारी के लेन-देन की अनुमति देना. जब कोई ऐप्लिकेशन उपयोगकर्ता सबसे पहले सही रोल क्रेडेंशियल के साथ साइन इन करता है, इसलिए सर्वर जनरेट करता है और बाद के अनुरोधों के साथ इस्तेमाल करने के लिए, कोड में बदला गया और डिजिटल रूप से साइन किया गया JWT दिखाता है. यह प्रोसेस, उपयोगकर्ता की पुष्टि करती है और उसे रूट ऐक्सेस करने की अनुमति देती है, सेवाओं और संसाधनों को उनकी भूमिका के हिसाब से मैनेज किया जा सकता है.
कम भरोसेमंद एनवायरमेंट से एपीआई के तरीके के कॉल के लिए, Fleet Engine को JSON वेब टोकन (JWT) का इस्तेमाल करना होगा. इन टोकन पर, किसी सही सेवा खाते से हस्ताक्षर किया जाना चाहिए. कम विश्वसनीय वातावरण में स्मार्टफ़ोन और ब्राउज़र शामिल हैं. एक जेडब्लयूटी आपके सर्वर से जुड़ा होता है, जो पूरी तरह से भरोसेमंद एनवायरमेंट होता है. द जेडब्ल्यूटी हस्ताक्षर किया हुआ हो, एन्क्रिप्ट (सुरक्षित) किया गया हो, और बाद के सर्वर के लिए क्लाइंट को भेजा जाता हो के इंटरैक्शन के बारे में तब तक जानकारी नहीं देता है, जब तक कि इसकी समयसीमा खत्म न हो जाए या वह मान्य न रहे. सेवा-खाता भूमिकाओं की सूची, Fleet Engine सेवा खाता की भूमिकाएं देखें फ़्लीट इंजन की बुनियादी बातों में बताया गया है.
इसके उलट, आपके बैकएंड को ऐप्लिकेशन के डिफ़ॉल्ट क्रेडेंशियल के मानक तरीकों का इस्तेमाल करके, Fleet Engine के लिए पुष्टि करनी चाहिए और अनुमति देनी चाहिए.
एपीआई पासकोड के उलट, JWT कम समय तक काम करते हैं. साथ ही, इनकी मदद से सिर्फ़ उन कार्रवाइयों को किया जा सकता है जिनके लिए भूमिका को अनुमति मिली है. JWT के बारे में ज़्यादा जानकारी के लिए, JSON वेब देखें Wikipedia पर टोकन की सुविधा. ऐक्सेस की भूमिकाओं के बारे में ज़्यादा जानने के लिए, सेवा खाता भूमिकाओं में दी गई जानकारी देखें.
JWT एलिमेंट
JWT में एक हेडर और एक दावा सेक्शन होता है. हेडर सेक्शन में, सेवा खातों से मिली निजी कुंजी और एन्क्रिप्शन एल्गोरिदम जैसी जानकारी होती है. दावा अनुभाग में JWT की JWT का दावा है कि समय, जीने का समय, ऐक्सेस करने के लिए, ऐक्सेस और अनुमति से जुड़ी अन्य जानकारी का ऐक्सेस; इसके लिए उदाहरण के लिए, डिलीवरी वाहन का आईडी.
नीचे दी गई टेबल में, JWT फ़ील्ड के बारे में पूरी जानकारी दी गई है. साथ ही, इस बारे में खास जानकारी कि इनकी वैल्यू कहां मिल सकती हैं फ़ील्ड में डेटा डालना होगा.
फ़ील्ड |
जानकारी |
---|---|
Alg |
एल्गोरिदम का इस्तेमाल करना है. `RS256`. |
typ |
टोकन का टाइप. `JWT`. |
बच्चा |
आपके सेवा खाते की निजी कुंजी का आईडी. आपको यह वैल्यू यहां दिखेगी
आपके सेवा खाते की JSON फ़ाइल का |
फ़ील्ड |
जानकारी |
---|---|
iss |
आपके सेवा खाते का ईमेल पता, जो
आपके सेवा खाते की JSON फ़ाइल का |
बदले में खेलने वाला खिलाड़ी |
आपके सेवा खाते का ईमेल पता, जो
आपके सेवा खाते की JSON फ़ाइल का |
ऑडियो |
आपके सेवा खाते का |
iat |
JWT बनाए जाने का टाइमस्टैंप, जो सेकंड में बताया गया हो
00:00:00 से बीत चुका है |
exp |
JWT की समय-सीमा खत्म होने का टाइमस्टैंप, जिसे बीते सेकंड में बताया जाता है
|
ऑथराइज़ेशन |
इस्तेमाल के उदाहरण के हिसाब से, इसमें अगर टास्क आईडी की जानकारी दी जा रही है, तो अनुमति का दायरा इनमें से किसी एक फ़ॉर्मैट में एक कलेक्शन होना चाहिए: "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
दावे.
आगे क्या करना है
- पूरी जानकारी को समझने के लिए, फ़्लीट इंजन के सिक्योरिटी डिज़ाइन के बारे में पढ़ें पुष्टि करने की प्रक्रिया.
- अपने सर्वर से JSON वेब टोकन जारी करने का तरीका जानें.