JSON वेब टोकन जारी करना

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

  • अनुमति वाली लाइब्रेरी का इस्तेमाल करना—Google का सुझाव है कि आप इसका इस्तेमाल तब करें, जब तो आपका कोड बेस Java में लिखा होता है. यह लाइब्रेरी सभी के लिए JWT जारी करने का काम करती है किसी सेवा का इस्तेमाल करते समय जिन स्थितियों की ज़रूरत आपको पड़ सकती है. साथ ही, यह आपके लागू करना.
  • अपने JWT बनाएं—अगर आप हमारी JWT लाइब्रेरी का इस्तेमाल नहीं कर सकते, तो आपको ये करने होंगे इन्हें अपने कोड बेस में बनाएं. इस सेक्शन में, देखें.

Java के लिए, अनुमति देने वाली लाइब्रेरी का इस्तेमाल करना

Java के लिए फ़्लीट इंजन की अनुमति वाली लाइब्रेरी का इस्तेमाल करने के लिए, GitHub पर जाएं डेटा स्टोर करने की जगह के लिए. लाइब्रेरी से फ़्लीट इंजन को आसानी से बनाया जा सकता है JWTs और उन्हें सुरक्षित रूप से साइन करता है. इससे यह जानकारी मिलती है:

  • प्रोजेक्ट डिपेंडेंसी से जुड़े एलान
  • ऑन-डिमांड या शेड्यूल की गई यात्राओं के लिए, सेवा खाते से जुड़ी सभी भूमिकाओं की पूरी सूची टास्क
  • क्रेडेंशियल फ़ाइलों का इस्तेमाल करने के अलावा, टोकन पर हस्ताक्षर करने के अन्य तरीके भी शामिल हैं. जैसे, किसी सेवा खाते की पहचान चुराना
  • यह नीति, किसी gRPC स्टब या GAPIC क्लाइंट
  • हस्ताक्षर करने वाले लोगों को Fleet Engine क्लाइंट लाइब्रेरी के साथ इंटिग्रेट करने के बारे में निर्देश

अगर अपने कोड से JWT जारी किया जाता है, तो

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

सामान्य दिशा-निर्देश

  • सही भूमिकाओं का इस्तेमाल करें. इससे यह पक्का होता है कि टोकन का अनुरोध करने वाला उपयोगकर्ता इसके पास वह जानकारी देखने की अनुमति होगी जिसमें टोकन से उन्हें ऐक्सेस मिलता है. खास तौर पर:
    • किसी मोबाइल डिवाइस पर JWT पास करने के लिए, साइन इन करते समय, सेवा का इस्तेमाल करें ड्राइवर या उपभोक्ता SDK टूल की भूमिका के लिए खाता होना चाहिए. या फिर, मोबाइल डिवाइस के पास उस स्थिति को बदलने की क्षमता होगी जो उसमें नहीं होनी चाहिए.
    • इसी तरह, खास अधिकार वाले कॉल के लिए JWT पर हस्ताक्षर करते समय, ज़रूर फ़्लीट इंजन के एडमिन की सही भूमिका वाले सेवा खाते का इस्तेमाल करें. ऐसा न करने पर, कार्रवाई नहीं हो पाएगी.
  • सिर्फ़ बनाए गए टोकन शेयर करें. ईमेल भेजने के लिए इस्तेमाल किए जाने वाले क्रेडेंशियल कभी शेयर न करें टोकन बना सकता है.
  • gRPC कॉल के लिए, टोकन को अटैच करने का तरीका कॉल करने के लिए इस्तेमाल की गई भाषा और फ़्रेमवर्क. किसी निर्देश को एचटीटीपी कॉल का टोकन, बियरर के साथ Authorization हेडर को शामिल करता है एक टोकन है, जिसका मान टोकन है.
  • समयसीमा खत्म होने का समय दिखाएं. आपके सर्वर को टोकन, आम तौर पर सेकंड में.
  • इस्तेमाल करने के बजाय, JSON को सीधे टोकन बियरर के तौर पर बनाने और साइन करने के लिए OAuth 2.0 ऐक्सेस टोकन, सेवा खाते के लिए निर्देश पढ़ें पहचान डेवलपर में OAuth के बिना अनुमति देना दस्तावेज़.

मांग पर यात्राओं के लिए

  • JWT पेलोड बनाते समय, अनुमति में एक और दावा जोड़ें vehicleid या tripid कुंजी वाला सेक्शन, वाहन की वैल्यू पर सेट किया गया वह आईडी या ट्रिप आईडी जिसके लिए कॉल किया जा रहा है.

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

  • जब आपका सर्वर अन्य एपीआई को कॉल करता है, तो टोकन में उचित दावा. इसके लिए, ये काम किए जा सकते हैं:
    • हर कुंजी की वैल्यू * पर सेट करें.
    • सभी taskids और deliveryvehicleids के लिए उपयोगकर्ता को ऐक्सेस दें. ऐसा करें इसके बाद, आप अनुमति देने वाले सेक्शन में taskid और deliveryvehicleid कुंजियां.
    • taskids दावे में तारे के निशान (*) का इस्तेमाल करते समय, यह ज़रूरी है कि अरे में सिर्फ़ एलिमेंट शामिल है.

मांग पर यात्राओं के लिए JWT के उदाहरण

अगर मांग पर सुविधा का इस्तेमाल किया जाता है, तो इस सेक्शन में सामान्य स्थितियों के लिए JWT के उदाहरण दिए गए हैं यात्राएं.

बैकएंड सर्वर ऑपरेशन के लिए टोकन का उदाहरण

{
  "alg": "RS256",
  "typ": "JWT",
  "kid": "private_key_id_of_provider_service_account"
}
.
{
  "iss": "provider@yourgcpproject.iam.gserviceaccount.com",
  "sub": "provider@yourgcpproject.iam.gserviceaccount.com",
  "aud": "https://fleetengine.googleapis.com/",
  "iat": 1511900000,
  "exp": 1511903600,
  "authorization": {
     "vehicleid": "*",
     "tripid": "*"
   }
}

ड्राइवर ऐप्लिकेशन ऑपरेशन के लिए टोकन का उदाहरण

{
  "alg": "RS256",
  "typ": "JWT",
  "kid": "private_key_id_of_driver_service_account"
}
.
{
  "iss": "driver@yourgcpproject.iam.gserviceaccount.com",
  "sub": "driver@yourgcpproject.iam.gserviceaccount.com",
  "aud": "https://fleetengine.googleapis.com/",
  "iat": 1511900000,
  "exp": 1511903600,
  "authorization": {
     "vehicleid": "driver_12345"
   }
}

उपभोक्ता ऐप्लिकेशन से जुड़ी कार्रवाई के लिए टोकन का उदाहरण

{
  "alg": "RS256",
  "typ": "JWT",
  "kid": "private_key_id_of_consumer_service_account"
}
.
{
  "iss": "consumer@yourgcpproject.iam.gserviceaccount.com",
  "sub": "consumer@yourgcpproject.iam.gserviceaccount.com",
  "aud": "https://fleetengine.googleapis.com/",
  "iat": 1511900000,
  "exp": 1511903600,
  "authorization": {
     "tripid": "trip_54321"
   }
}

शेड्यूल किए गए टास्क के लिए JWT के उदाहरण

अगर शेड्यूल की गई रिपोर्ट का इस्तेमाल किया जाता है, तो यह सेक्शन सामान्य स्थितियों के लिए JWT का उदाहरण देता है टास्क.

बैकएंड सर्वर ऑपरेशन के लिए टोकन का उदाहरण

    {
      "alg": "RS256",
      "typ": "JWT",
      "kid": "private_key_id_of_provider_service_account"
    }
    .
    {
      "iss": "provider@yourgcpproject.iam.gserviceaccount.com",
      "sub": "provider@yourgcpproject.iam.gserviceaccount.com",
      "aud": "https://fleetengine.googleapis.com/",
      "iat": 1511900000,
      "exp": 1511903600,
      "authorization": {
         "taskid": "*"
       }
    }

बैकएंड सर्वर बैच के लिए टोकन का उदाहरण

    {
      "alg": "RS256",
      "typ": "JWT",
      "kid": "private_key_id_of_provider_service_account"
    }
    .
    {
      "iss": "provider@yourgcpproject.iam.gserviceaccount.com",
      "sub": "provider@yourgcpproject.iam.gserviceaccount.com",
      "aud": "https://fleetengine.googleapis.com/",
      "iat": 1511900000,
      "exp": 1511903600,
      "authorization": {
         "taskids": ["*"]
       }
    }

हर वाहन की डिलीवरी में लगने वाले बैकएंड सर्वर के लिए टोकन का उदाहरण

    {
      "alg": "RS256",
      "typ": "JWT",
      "kid": "private_key_id_of_provider_service_account"
    }
    .
    {
      "iss": "provider@yourgcpproject.iam.gserviceaccount.com",
      "sub": "provider@yourgcpproject.iam.gserviceaccount.com",
      "aud": "https://fleetengine.googleapis.com/",
      "iat": 1511900000,
      "exp": 1511903600,
      "authorization": {
         "deliveryvehicleid": "*"
       }
    }

ड्राइवर ऐप्लिकेशन के लिए टोकन का उदाहरण

    {
      "alg": "RS256",
      "typ": "JWT",
      "kid": "private_key_id_of_delivery_driver_service_account"
    }
    .
    {
      "iss": "driver@yourgcpproject.iam.gserviceaccount.com",
      "sub": "driver@yourgcpproject.iam.gserviceaccount.com",
      "aud": "https://fleetengine.googleapis.com/",
      "iat": 1511900000,
      "exp": 1511903600,
      "authorization": {
         "deliveryvehicleid": "driver_12345"
       }
    }

उपभोक्ता ऐप्लिकेशन के लिए टोकन का उदाहरण

    {
      "alg": "RS256",
      "typ": "JWT",
      "kid": "private_key_id_of_delivery_consumer_service_account"
    }
    .
    {
      "iss": "consumer@yourgcpproject.iam.gserviceaccount.com",
      "sub": "consumer@yourgcpproject.iam.gserviceaccount.com",
      "aud": "https://fleetengine.googleapis.com/",
      "iat": 1511900000,
      "exp": 1511903600,
      "authorization": {
         "trackingid": "shipment_12345"
       }
    }

सभी टास्क और गाड़ियों को ट्रैक करने के लिए टोकन का उदाहरण

नीचे दिए गए उदाहरण में एक टोकन है, जो सभी टास्क और बेड़े में मौजूद गाड़ियां. JavaScript फ़्लीट ट्रैकिंग लाइब्रेरी सेट अप करना देखें को लागू करें, जो इस टोकन का इस्तेमाल करेगा:

  • Fleet Engine Delivery Fleet Reader Cloud IAM की भूमिका का इस्तेमाल करके, टोकन पर साइन करें.

   {
      "alg": "RS256",
      "typ": "JWT",
      "kid": "private_key_id_of_consumer_service_account"
    }
    .
    {
      "iss": "superuser@yourgcpproject.iam.gserviceaccount.com",
      "sub": "superuser@yourgcpproject.iam.gserviceaccount.com",
      "aud": "https://fleetengine.googleapis.com/",
      "iat": 1511900000,
      "exp": 1511903600,
      "scope": "https://www.googleapis.com/auth/xapi",
      "authorization": {
         "taskid": "*",
         "deliveryvehicleid": "*",
       }
    }

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

  • अपने सेटअप की पुष्टि करें, ताकि मुफ़्त में आज़माने वाली गाड़ी बनाई जा सके और पक्का किया जा सके कि टोकन उम्मीद के मुताबिक काम कर रहे हैं