跳至主要内容

獲取 Access Token

獲取用於訪問其他 API 的 JWT access token。

API 信息

  • 端點POST /v2/auth
  • 認證:簽章驗證(不需要 Bearer token)
  • 加密:請求使用 AES-256-GCM 加密,響應為明文 JSON

請求

請求標頭

POST /v2/auth HTTP/1.1
Host: api.example.com
Content-Type: application/json
x-agentid: integratorNBTest04
x-timestamp: 1769745532582
x-nonce: 4ff08bc2a45c6b38068dbcd24296a25b
x-signature: 904e97bee2589b93e9747eed0346c68b23d8ff8b568dabaf4b94a5e89093df67

請求參數

請求參數需要加密後放入 cipherText 欄位。

加密前的參數

{
"agentId": "integratorNBTest01",
"secret": "examplesecret=="
}

加密後的請求體

{
"cipherText": "G0ZMDELeJwx+7JcIfIFOLJjkSzANPu6krGM2uw==bDUB6MvLbggJM4Df28x/41LlgIPDqPBBAylkqTdB0I78haWOdi6jV8JXAi0iL8JHq/cCPlj39Apt/I9hDNII3SBb0IZMg+qGN3pH3zExydFZSLXwErOa/6KzGMHukRkqHjdFzQ=="
}
欄位類型必填說明
agentIdstring營運商代理 ID
secretstring營運商密鑰

響應

成功響應

響應數據為明文 JSON 格式。

{
"code": 0,
"message": "No error.",
"data": {
"accessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhZ2VudElkIjoiaW50ZWdyYXRvck5CVGVzdDA0IiwiaWF0IjoxNzY5NzQ1NTMyLCJleHAiOjE3Njk3NDkxMzJ9.abc123def456...",
"expiresIn": 3600,
"tokenType": "Bearer"
},
"logUUID": "24cdc3b9-9fe8-44de-8391-a96863e46954"
}
欄位類型說明
accessTokenstringJWT access token,用於後續 API 請求
expiresInnumberToken 有效期(秒),通常為 3600 秒(1 小時)
tokenTypestringToken 類型,固定為 "Bearer"
logUUIDstring請求追蹤 ID,用於問題排查和日誌查詢

錯誤響應

{
"code": 83,
"message": "認證失敗:簽章驗證錯誤",
"logUUID": "24cdc3b9-9fe8-44de-8391-a96863e46954"
}

注意事項

  1. Token 有效期:accessToken 通常在 1 小時後過期,需要重新獲取
  2. 安全存儲:請在服務器端安全存儲 accessToken,不要在客戶端暴露
  3. 時間同步:確保服務器時間與 VP 服務器時間同步,時間偏差過大會導致驗證失敗
  4. Nonce 唯一性:每次請求都應使用新的 nonce 值
  5. 錯誤重試:如果收到 401 錯誤,應重新獲取 accessToken

注意事項

  1. Token 有效期:accessToken 通常在 1 小時後過期,需要重新獲取
  2. 安全存儲:請在服務器端安全存儲 accessToken,不要在客戶端暴露
  3. 錯誤重試:如果收到 401 錯誤,應重新獲取 accessToken

相關 API