背景
某些业务场景下,业务对同步的数据有很高的用户安全性要求,此时,需要进行用户一致性验证。
- 目的
在同步数据时,确保数据推送的目标用户即为客户端有效登录用户。 - 基本原理
- 客户端连接到 MSS 服务端时,上传用户标识和授权 token(例如 sessionId)数据。
- 服务端可调用一个由租户实现的一致性验证接口,通过此接口以及获取的用户标识和授权 token,由客户系统来控制是否一致。MSS 服务将记录一致性标识,用于后续同步数据时session 状态的判断。
说明:MSS 服务端判断 session 为有效时,将同步数据至相应用户;判断 session 为无效时,将不同步数据至相应用户。 - 对于高安全要求的同步配置,可开启一致性验证,数据将仅推送通过用户一致性验证的设备上,对于未开启一致性验证的同步配置,在推送数据时,将会忽略一致性验证结果。同步配置操作请参见 管理控制台。
配置一致性验证接口
在 mPaas 控制台上配置登录 session 校验的 RPC 接口。
操作入口
在选定 APP 的 后台服务管理 > 移动网关 页面上,配置 API,详细操作可参见 配置 API。
接口名称
由于 MSS 服务端会固定调用 API,故创建的 API 的 operationType 必须为 com.antcloud.session.validate,并且请求参数也需固定如下:
名称 | 是否必填 | 数据类型 | 最大长度 | 说明 |
---|---|---|---|---|
instanceId | 是 | String | 100 | 业务场景标识,组成结构为 workspaceId_AppId |
userId | 是 | String | 100 | 用户唯一标识 |
sessionId | 是 | String | 100 | 客户端携带的授权 token |
返回结果
客户校验系统自定义一致性检验逻辑,需要返回的数据为 JOSN 格式。
-
代码示例
{
"response": {
"resultCode": "OK",
"resultMsg": "Operation is done successfuly",
"success": "true",
"result": {
"sid": "kkdddd",
"valid":"true/false",
}
}
}
-
各属性含义及解释
名称 类型 示例 说明 success boolean true / false 业务调用结果,成功返回 true
,失败返回false
。失败的情况下,可通过returnCode
查看失败原因,参考下表 结果码。returnCode String SUCCESS 结果码。 resultMsg String SUCCESS 结果信息。 result JSONString { “sid”: “kkdddd”, “valid”:”true/false”,} 结果对象,参数说明请见下表 结果对象参数。 -
结果码
结果 结果码 含义 true OK 业务成功 false OPERATION_ERROR OPERATION 错误, 只处理 com.antcloud.session.validate
接口 -
result 结果对象参数
名称 类型 示例 说明 sid String kkdddd 授权的 token 或 sessionId valid boolean true / false 一致性验证结果
原创文章,作者:网友投稿,如若转载,请注明出处:https://www.cloudads.cn/archives/33977.html