全部產品
Search
文件中心

Mobile Platform as a Service:使用者一致性驗證

更新時間:Jul 13, 2024

在某些業務情境下,業務對同步的資料有很高的安全性要求,需要確保推送的目標使用者就是當前登入的使用者而沒有被偽造。為實現這一目的,資料同步服務提供了使用者一致性驗證的功能,使用者可根據需要開啟使用。該功能的基本原理是:

  • 用戶端在串連到伺服器端時,上報使用者標識(userId)和授權 token(sessionId)。userId 和 sessionId 都是使用者登入系統返回的資料,當 userId 和 sessionId 變化時,需要調用相關介面才能保證長串連的建立正確。

  • 伺服器端可以調用一個由租戶實現的一致性驗證介面,通過這個介面,由租戶來控制是否一致。資料同步服務會記錄下是否一致的標識。

  • 對於高安全要求的同步配置,租戶可以開啟一致性驗證,資料只會推送到通過一致性驗證的使用者裝置上。對於未開啟一致性驗證的同步配置,則會忽略一致性驗證結果。

配置一致性驗證介面

下文介紹如何配置一致性驗證介面 com.antcloud.session.validate,並對該介面進行說明。

重要

通過 mPaaS 控制台配置完一致性驗證介面後,需要關閉該 RPC 介面的 簽名驗證 功能,否則移動同步的一致性校正邏輯會無法正常工作。

操作入口

登入 mPaaS 控制台後,選擇目標應用,進入 移動網關 > API 管理 頁面,添加 API,詳情參見 移動網關 > API 管理

介面名稱

添加 API 的 operationType 必須為 com.antcloud.session.validate。請求參數配置如下:

名稱

類型及長度要求

是否必須

樣本

描述

instanceId

String

instancedemo

workspaceId_appId 的字串。

userId

String

20880939

使用者識別碼。

sessionId

String

kkdddd

用戶端攜帶的授權 token。

返回參數

實現一個一致性檢驗邏輯,需要返回資料格式為 JSON 格式,樣本如下:

{
        "resultCode": "OK",
        "resultMsg": "Operation is done successfully",
        "success": true,
        "result": { 
            "sid": "kkdddd",
            "valid":true/false
        } 
}

各屬性含義解釋:

名稱

類型

樣本

描述

success

boolean

true/false

業務調用是否成功,成功返回 true,失敗返回 false。失敗的情況下,通過 returnCode 查看失敗原因,可參考下方的 業務結果碼

returnCode

String

ERROR

結果碼。

resultMsg

String

SYSTEM-ERROR

結果資訊。

sid

String

kkdddd

授權 token 或者 sessionId。

valid

boolean

true/false

驗證結果。

業務結果碼

結果

結果碼

含義

true

OK

業務成功。

false

OPERATION_ERROR

OPERATION 錯誤, 只處理 com.antcloud.session.validate 介面。