JSON Web Jetonları

JSON Web Token (JWT), kimlik doğrulama ve istemci ile sunucu arasında bilgi alışverişini yetkilendirme. Uygulama oturum açtığında sunucu tarafından ve sonraki isteklerde kullanılmak üzere kodlanmış, dijital olarak imzalanmış bir JWT döndürür. Bu işlem, hem kullanıcının kimliğini doğrular hem de rotalara erişme ve hizmetleri ve kaynakları hesap rollerine göre.

Fleet Engine, JSON Web Jetonlarının (JWT) düşük güventan gelen API yöntemi çağrıları için uygun hizmet hesabı ortamlar için geçerlidir. Akıllı telefonlar ve tarayıcılar, güven düzeyinin düşük olduğu ortamlara dahildir. JWT tamamen güvenilir bir ortam olan sunucunuzdan kaynaklandığı için JWT imzalanır, şifrelenir ve sonraki sunucu için istemciye iletilir geçerlilik süresi sona erene kadar veya geçerliliğini yitirene kadar etkileşimleri iptal eder.

Arka ucunuz aşağıdakileri kullanarak Fleet Engine'e karşı kimlik doğrulamalı ve yetkilendirme yapmalıdır: Application Default Credentials (Uygulama Varsayılan Kimlik Bilgileri) mekanizmalarını kullanın. Marka uygun bir hizmet hesabı tarafından imzalanmış JWT'leri kullandığınızdan emin olun. Örneğin, hizmet hesabı rollerinin listesi için Fleet Engine hizmet hesabı rollerine bakın Fleet Engine Basics (Filo Motoru Temel Bilgileri) bölümüne göz atın.

API anahtarlarının aksine JWT'ler kısa ömürlüdür ve işlemleri yalnızca bu rolün gerçekleştirilmesi için yetki verilir. JWT'ler hakkında daha fazla bilgi için bkz. JSON Web Jetonlar'da bulabilirsiniz. Erişim rolleriyle ilgili ayrıntılar için Hizmet hesap rollerini inceleyebilirsiniz.

JWT öğeleri

JWT'ler bir başlık ve hak talebi bölümü içerir. Başlık bölümünde Örneğin, hizmet hesaplarından alınan özel anahtar ve şifreleme algoritmasıdır. Hak talebi bölümünde JWT'nin zaman, geçerlilik süresi, JWT'nin talep ettiği hizmetleri kapsam erişimi için erişim ve diğer yetkilendirme bilgileri; şunun için: Örneğin, teslimat aracının kimliği.

Aşağıdaki tabloda, genel olarak JWT alanlarıyla ilgili açıklayıcı ayrıntılar verilmiştir. ve bu öğelerin değerlerini nerede bulabileceğinizle ilgili alanları oluşturun.

JWT başlık alanları

Alan

Açıklama

Alg

Kullanılacak algoritma. "RS256".

typ

Jetonun türü. "JWT".

çocuk

Hizmet hesabınızın özel anahtar kimliği. Bu değeri Hizmet hesabı JSON dosyanızın private_key_id alanı. Marka doğru izin düzeyine sahip bir hizmet hesabından anahtar kullandığınızdan emin olun.

JWT hak talebi alanları

Alan

Açıklama

iss

Hizmet hesabınızın e-posta adresi: Hizmet hesabı JSON dosyanızın client_email alanı.

yerine girdi

Hizmet hesabınızın e-posta adresi: Hizmet hesabı JSON dosyanızın client_email alanı.

Aud

Hizmet hesabınızın SERVICE_NAME, bu örnek için https://fleetengine.googleapis.com/

iat

JWT'nin oluşturulduğu zaman damgası (saniye cinsinden belirtilir) geçen süre: 00:00:00 UTC, January 1, 1970. Eğiklik için 10 dakika bekleyin. Zaman damgası çok geçmişte veya gelecekte ise sunucu bir hata bildirebilir.

exp

JWT'nin süresinin dolacağı zaman damgası (geçen saniye cinsinden belirtilir) 00:00:00 UTC, January 1, 1970 tarihinden beri. İstek, zaman damgası bir saatten daha ileride.

authorization

Kullanım alanına bağlı olarak deliveryvehicleid, trackingid, taskid veya taskids.

Fleet Engine JWT talepleri

Fleet Engine, gizli hak talepleri kullanır. Gizli hak taleplerini kullanmak yalnızca kendi verilerine erişebilir.

Örneğin, sunucunuz bir sürücünün mobil cihazı için bir JSON Web Jetonu yayınladığında vehicleid hak talebini veya Sürücü araç kimliğinin değeriyle deliveryvehicleid hak talebinde bulunun. Ardından, JWT'ler sürücü rolüne bağlı olarak yalnızca belirli bir araç için erişimi etkinleştirir Kimliği (başka bir rastgele araç kimliği değil).

Fleet Engine, aşağıdaki gizli hak taleplerini kullanır:

İstek üzerine geziler

  • vehicleid:
    • Sürücü SDK'sı, seyahatte çalışıyor olsun ya da olmasın, her zaman bu hak talebini kullanır. veya araç. Fleet Engine arka ucu, aracın .
    • Servis sağlayıcı olarak bu hak talebini "*" ile kullanırsınız tümünü eşleştirmek için anlamına gelir. JWT'nin hem aracı hem de seyahati kapsayabileceğini unutmayın işlemlerini gerçekleştirmeniz (gerekmese bile) ve bu da JWT imzalama sürecini hakkında bilgi edindiniz.
  • tripid:
    • Tüketici SDK'sı her zaman bu hak talebini kullanır.
    • Servis sağlayıcı olarak bu hak talebini "*" ile kullanırsınız tümünü eşleştirmek için kullanabilirsiniz. JWT'nin hem araç hem de seyahat operasyonlarını kapsayabileceğini unutmayın. gerekmese bile, bu işlem jeton imzalama sürecini basitleştirebilir. hakkında bilgi edindiniz.

Planlanmış görevler

  • deliveryvehicleid

    Teslimat başına araç başına arama yaparken kullan API'ler.

  • taskid

    Görev başına API çağrısı yaparken kullanın.

  • taskids

    Arama yaparken kullan BatchCreateTasksAPI Bu iddia dizi biçiminde olmalıdır. Ayrıca dizi, isteği gönderin. delivervehicleid eklemeyin, trackingid veya taskid hak talebi.

  • trackingid

    GetTaskTrackingInfoAPI Hak talebi, izleme ile eşleşmelidir İstekteki kimlik. delivervehicleid eklemeyin, taskid veya taskids hak talebi.

Sırada ne var?