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 işlem gerçekleştiremez.
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ı hakkında açıklayıcı ayrıntılar verilmiştir: ve bu öğelerin değerlerini nerede bulabileceğinizle ilgili alanları oluşturun.
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 |
Alan |
Açıklama |
---|---|
iss |
Hizmet hesabınızın e-posta adresi:
Hizmet hesabı JSON dosyanızın |
yerine girdi |
Hizmet hesabınızın e-posta adresi:
Hizmet hesabı JSON dosyanızın |
Aud |
Hizmet hesabınızın |
iat |
JWT'nin oluşturulduğu zaman damgası (saniye cinsinden belirtilir)
geçen süre: 00:00:00 |
exp |
JWT'nin süresinin dolacağı zaman damgası (geçen saniye cinsinden belirtilir)
|
authorization |
Kullanım alanına bağlı olarak Görev kimlikleri belirtiliyorsa yetkilendirme kapsamı tek bir alanda bir dizi olmalıdır şu biçimlerdeki gibidir: "taskids": ["task_id_one","task_id_two"]
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ğinde bulunabilirsiniz.delivervehicleid
eklemeyin,trackingid
veyataskid
hak talebi. -
trackingid
GetTaskTrackingInfoAPI
Hak talebi, izleme ile eşleşmelidir İstekteki kimlik.delivervehicleid
eklemeyin,taskid
veyataskids
hak talebi.
Sırada ne var?
- Fleet Engine güvenlik tasarımı hakkında bilgi edinin ve kimlik doğrulama akışı.
- Sunucunuzdan JSON Web Jetonları'nın nasıl düzenleneceğini öğrenin.