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。