JSON Web Token (JWT) 是一種開放網路標準,可用來驗證 授權用戶端和伺服器之間交換資訊。應用程式 使用者第一次以適當的角色憑證登入時,伺服器會建立 並傳回經過數位簽署的編碼 JWT,以用於後續要求。 這個程序同時驗證使用者並授權使用者存取路徑 建立的各項服務和資源。
Fleet Engine 必須使用 適用於來自 low-trust 的 API 方法呼叫的適當服務帳戶 環境。低信任的環境包括智慧型手機和瀏覽器。JWT 起源於您的伺服器,這也是值得信賴的環境JWT 簽署、加密並傳遞至用戶端,以供後續伺服器使用 互動,直到過期或不再有效。
您的後端應使用 標準的應用程式預設憑證機制。廠牌 請務必使用適當服務帳戶簽署的 JWT。換 服務帳戶角色清單,請參閱 Fleet Engine 服務帳戶角色 詳情請參閱 Fleet Engine 基本概念一文。
與 API 金鑰不同的是,JWT 生命週期短暫,且只能執行有限的作業 有權執行該角色如要進一步瞭解 JWT,請參閱 JSON Web 維基百科上的符記。如要進一步瞭解存取權角色,請參閱服務 帳戶角色
JWT 元素
JWT 含有標頭和憑證附加資訊區段。標題區段包含 從服務帳戶取得的私密金鑰等資訊 加密演算法憑證附加資訊區段包含 JWT 的 建立時間、存留時間 (JWT 憑證附加服務) 以及其他授權資訊以界定存取權範圍的 例如貨車 ID
下表提供 JWT 欄位一般的描述性詳細資料。 以及可在何處找到 並在 Fleet Engine Cloud 專案中設定這些欄位
欄位 |
說明 |
---|---|
Alg |
要使用的演算法。`RS256`。 |
typ |
權杖類型。「JWT」。 |
兒童 |
服務帳戶的私密金鑰 ID。您可以在
|
欄位 |
說明 |
---|---|
iss |
您的服務帳戶電子郵件地址 (可在
|
替補球員 |
您的服務帳戶電子郵件地址 (可在
|
aud |
服務帳戶的 |
iat |
建立 JWT 時的時間戳記 (以秒為單位)
從 00:00:00 |
exp |
JWT 到期時的時間戳記,指定經過的秒數
自 |
授權 |
視用途而定,可能包含 如要指定 taskids,授權範圍必須是 形式: "taskids": ["task_id_one","task_id_two"]
或 "taskids": ["*"] |
Fleet Engine JWT 憑證附加資訊
Fleet Engine 使用私人憑證附加資訊。使用私人著作權聲明能確保 授權客戶存取自己的資料
例如,當伺服器核發驅動程式行動的 JSON Web Token
裝置,應包含 vehicleid
聲明或
deliveryvehicleid
使用該駕駛人車輛 ID 的值來聲明。接著:
視駕駛人角色而定,JWT 只能針對特定車輛授予存取權
而非其他任意車輛 ID。
Fleet Engine 使用下列私人憑證附加資訊:
隨選行程
-
vehicleid
:- 駕駛 SDK 一律使用這項斷言,無論其是否為行程中皆然 或車輛Fleet Engine 後端可確保該車 與要求的行程相關聯。
- 身為服務供應商,請使用「*」來使用這項索賠全部符合 。請注意,JWT 可涵蓋車輛和行程 這項作業可能會簡化 JWT 簽署程序 。
-
tripid
:- Consumer SDK 一律使用這項聲明。
- 身為服務供應商,您須以「*」使用這項宣告全部符合 行程。請注意,JWT 可涵蓋車輛和行程作業。 這可能會簡化符記簽署程序 。
已排定的工作
-
deliveryvehicleid
呼叫每輛車/車時使用 相互整合
-
taskid
呼叫個別工作的 API 時使用。
-
taskids
撥打電話時使用
BatchCreateTasksAPI
。此著作權聲明必須以陣列格式表示。 而且陣列應包含完成 請求。請勿加入delivervehicleid
,trackingid
或taskid
項著作權聲明。 -
trackingid
呼叫
GetTaskTrackingInfoAPI
。聲明必須與追蹤項目相符 ID。請勿加入delivervehicleid
,taskid
或taskids
項著作權聲明。
後續步驟
- 參閱 Fleet Engine 安全性設計,瞭解完整 驗證流程
- 瞭解如何從伺服器發出 JSON Web Token。