中望帐号
    中望帐号
    • 服务更新记录
    • 接入说明
    • 网关和规范
    • 客户端接入\变更申请
    • 全局返回码
    • 用户一致性
    • 用户消息推送
    • 授权认证
      • 获取服务配置
        GET
      • 获取用户授权code
        GET
      • 使用授权code兑换用户令牌
        POST
      • 刷新令牌
        POST
      • 受信客户端获取令牌
        POST
      • 密码模式获取用户令牌
        POST
    • 用户
      • 获取用户基本信息(OIDC)-不建议使用
        GET
      • 获取用户基本信息
        GET
      • 修改用户基本信息
        POST
      • 修改用户头像
        POST
      • 获取用户详细信息
        GET
      • 修改用户详细信息
        POST
      • 获取用户第三方绑定信息
        GET
      • 获取用户资讯接收设置
        GET
      • 结束会话(退出登录)
        GET
      • 获取客户端配置
        GET
      • 获取用户信息修改次数
        GET
      • 修改帐号安全信息
        GET
      • 获取用户当前IP信息
        GET
      • 发送验证码
        POST
    • 受信客户端接口
      • 用户
        • 获取用户GUID列表
        • 批量查询用户GUID
        • 批量获取用户详细信息
        • 批量获取用户第三方绑定信息
        • 通过第三方登录信息查询用户
        • 创建用户
        • 查询最近的登录记录
        • 增加用户第三方绑定信息
        • 批量修改用户详细信息
      • 企业
        • 刷新企业用户部门
      • 其他
        • 推送服务消息
    • OEM受信客户端
      • OEM授权认证对接说明
      • 获取OEM用户列表
      • 注册OEM用户
      • 更新OEM用户
      • 删除OEM用户
    • 管理后台
      • 用户
        • 获取用户列表
        • 申请导出用户数据
        • 获取导出的用户数据
        • 取消用户数据导出申请
        • 获取数据申请记录
        • 获取数据下载记录
        • 搜索用户
        • 获取用户部门名称链
        • 修改用户详细信息
        • 修改用户安全信息
        • 解绑用户手机号\邮箱\第三方
      • 角色
        • 获取角色组列表
        • 新建角色组
        • 更新角色组
        • 设置角色组管理员
        • 添加用户至角色组
        • 从角色组移除用户
        • 为用户分配可读权限
        • 取消用户可读权限
      • 企业
        • 创建\修改企业
        • 创建\修改企业第三方关联
    • 其他
      • 企微第三方用户关联
      • 企微回调
      • 获取客户端配置
      • 获取RSA公钥

    用户消息推送

    当满足条件时,账号系统将自动推送用户信息给各个已订阅的服务。

    推送时机#

    用户注册、修改信息、关闭账号时。
    推送消息类型:
    类型说明
    Add注册
    Basic修改基础信息:邮箱、手机号、昵称、姓氏、名字、头像
    Setting修改偏好设置:偏好语言、手机\邮箱接收消息设置
    Address修改联系地址
    Job修改工作信息
    Close关闭账号
    💡
    无论何种类型,每次推送时,均会推送用户当前最新的详细信息。
    推送的用户详细信息包含其他额外字段。

    失败重试机制#

    采用指数衰减重试推送:重试176次,总计重试时间为1天,间隔时间单位为秒,依次为:2^0,2^1,…,512,512,…,512。

    接收信息#

    请按接口规范实现推送信息接收,并提供接口链接给研发中台进行配置。
    正式服仅支持公网域名Https协议,测试环境支持公网域名或公网IP
    接口鉴权:链接上放置静态鉴权信息(如Basic方式, 或固定token等)
    接口返回:只要接收到消息且鉴权成功,无论是否处理都应返回200,除非需要重新尝试处理该消息
    接口方法:Post
    Content-Type为 text/plain,请对获取的请求内容进行Json反序列化
    请求内容:
    字段类型说明
    msgIdstring消息guid
    timeStamplong消息创建时的utc时间戳(秒)
    typesstring消息类型,多种类型通过英文分号(;)分隔
    objectIdstring内容对象id。
    帐号系统推送用户信息时,为用户guid
    其他系统推送消息时,请查看推送方的字段说明
    contentstring实际消息内容,Json序列化字符串。
    帐号系统推送用户信息时,请查看获取用户详细信息data中的字段;
    其他系统推送消息时,请查看推送方的字段说明
    signaturestring签名字符串
    请求内容示例
    {
        "msgId": "352fad25-61a6-4064-8948-b1f505dd3cf3",
        "timeStamp": 1693999911,
        "types": "Basic",
        "objectId": "892fab1d-83bd-4b17-8e1a-2be6b17244d8",
        "content": "{\"dateOfBirth\":null,\"address\":{\"street\":null,\"postalCode\":null,\"city\":\"广州\",\"provinceName\":\"广东\",\"countryName\":\"中国\",\"countryCode\":\"CN\"},\"jobInfo\":{\"company\":null,\"industry\":null,\"department\":null,\"title\":null},\"isPhoneReceiveInfo\":false,\"isEmailReceiveInfo\":false,\"fromClient\":\"ZWMeSystemClient\",\"externalLoginInfos\":[],\"guid\":\"892fab1d-83bd-4b17-8e1a-2be6b17244d8\",\"firstName\":\"test\",\"lastName\":\"b\",\"displayName\":\"test b\",\"profileImage\":\"https://test.resources.zwsoft.cn/prd/ZwsoftAccounts/public/userHeadImg/W7nXmfjnxJexxgoF7FKPlpbUo7TNGQ52WwXjLW2eaV-y6X1cMOKRy4HdqwvjEI7W/originalPic.png?v=1693896503\",\"preferredLanguage\":\"zh-CN\",\"userName\":\"apNNjp2I8g\",\"phone\":null,\"email\":\"test@zwsoft.com\",\"itc\":null,\"accountState\":\"Normal\",\"securityStamp\":\"326c3ef8-9bfd-445c-988a-5bb0b9bec308\",\"rememberLogin\":false,\"isEmployee\":false,\"createTime\":\"2023-09-05T06:48:22.000Z\",\"lastLoginTime\":\"2023-09-06T09:52:54.828Z\",\"region\":\"CN\"}",
        "signature": "E3mnERBN1FLbNj7LvrJ797iMn01RO4I9AcTsg6Ib0gOjI1NpZ9eEyd1B9TaB0qIgN5WCN3MmN+w3NnND+9Gs8YVLTf4v8xZgc/dgDqWwX80x+swTfjfqu3OhdPuN4urcm0au7hJARw1ebc/plK6DZdfn+HY3CtF+TwxQfAMtcVwd+ZTS+19k4iK20TE9D1/dCrzF0UbAZH7HtIwyrshQiOeO0I3/GtChTBay+mblna6O8eaqaEBfpAJMToRfNlfOKGV5ymQPkil0O7SHhZQTdcrz/sqJoHIyIoSVuqxMqPV/ZdL5IxkXaEfvARCSqktyGl+TmgVyp92eBBW8cIyMhQ=="
    }

    消息验签#

    在接收到推送的消息后,可根据请求内容和Signature进行验签,验签方法为:
    获取公钥:获取RSA公钥
    签名\验签使用的算法:Sha256
    通过原文、signature、公钥验签
    拼接原文
    对除signature外的其他字段,按字典顺序对字段名称排序
    拼接格式:字段名称1=字段值1&字段名称2=字段值2...&字段名称n=字段值n
    原文拼接示例
    content={"dateOfBirth":null,"address":{"street":null,"postalCode":null,"city":"广州","provinceName":"广东","countryName":"中国","countryCode":"CN"},"jobInfo":{"company":null,"industry":null,"department":null,"title":null},"isPhoneReceiveInfo":false,"isEmailReceiveInfo":false,"fromClient":"ZWMeSystemClient","externalLoginInfos":[],"guid":"892fab1d-83bd-4b17-8e1a-2be6b17244d8","firstName":"test","lastName":"b","displayName":"test b","profileImage":"https://test.resources.zwsoft.cn/prd/ZwsoftAccounts/public/userHeadImg/W7nXmfjnxJexxgoF7FKPlpbUo7TNGQ52WwXjLW2eaV-y6X1cMOKRy4HdqwvjEI7W/originalPic.png?v=1693896503","preferredLanguage":"zh-CN","userName":"apNNjp2I8g","phone":null,"email":"test@zwsoft.com","itc":null,"accountState":"Normal","securityStamp":"326c3ef8-9bfd-445c-988a-5bb0b9bec308","rememberLogin":false,"isEmployee":false,"createTime":"2023-09-05T06:48:22.000Z","lastLoginTime":"2023-09-06T09:52:54.828Z","region":"CN"}&msgId=352fad25-61a6-4064-8948-b1f505dd3cf3&objectId=892fab1d-83bd-4b17-8e1a-2be6b17244d8&timeStamp=1693999911&types=Basic

    接收消息接口安全建议#

    使用Basic或固定token进行接口鉴权
    推送服务不会推送超过1天的消息,建议校验timeStamp,忽略超过1天的消息
    可缓存msgId,缓存期1天, 对已处理的消息进行过滤,防止重放攻击
    修改于 2025-04-07 07:21:11
    上一页
    用户一致性
    下一页
    获取服务配置
    Built with