云服务器内容精选
-
请求示例 启用消息签名和加密的请求示例: {"nonce": "AmgjjEAJbrMzWmUw","timestamp": 15093849585,"eventType": "UPDATE_ORGANIZATION ","data": "6xrHydJIXEWxQhUa3UqsXHWsDZ5LTAo/xU3zhjq9H3syCuFYDYKg==","signature": "K08yDiTEc094KoccOY+VYLQFxxQ="} 请求包体data解密后的JSON字符串格式。 根据请求的组织机构ID参数更新机构信息,将变更的组织机构属性发送给企业应用。 {"id": "6c5bb468-14b2-4183-baf2-06d523e03bd3","code": "1000003","name": "武汉分公司","parentId": "5b183439-36a8-4d08-94ba-61b3c8d40b66"}
-
响应示例 状态码:200 请求成功 启用消息签名和加密的响应示例: {"code": "200","message": "success","data": "T41FtX1Q1z1lZM0DDcUGFyaazO3NgnMbgK6UeWT35Druf5zyXg="} 响应包体data解密后的JSON字符串格式: {"id": "6c5bb468-14b2-4183-baf2-06d523e03bd3"}
-
请求参数 表1 请求参数 参数 固定参数 参数类型 描述 id 是 String(50) 下游企业应用的机构ID。 当机构通过新增组织事件同步成功后,下游企业应用创建机构并生成机构ID,回传至 OneAccess ,作为该机构的唯一标识。 code 是 String(100) 组织编号,全局唯一。 name 是 String(40) 组织名称,所在层级下名称不能重复。 parentId 否 String(50) 父组织ID。
-
请求示例 启用消息签名和加密的请求示例: {"nonce": "AmgjjEAJbrMzWmUw","timestamp": 15093849585,"eventType": "CREATE_ORGANIZATION","data": "6lu6gxrHydJIXEWxQhUa3UqsWsDZ5LTAo/xU3zhjq9H3syCuFYDYKg==","signature": "K08yDiTEc094KoccOY+VYLQFxxQ="} 请求包体data解密后的JSON字符串格式: {"code": "1000003","name": "武汉分公司","parentId": "5b183439-36a8-4d08-94ba-61b3c8d40b66"}
-
响应示例 状态码:200 请求成功 启用消息签名和加密的响应示例: {"code": "200","message": "success","data": "j3rRBbc1Q1z1lZM0DDcUGFyaazO3NgnMbgK6UeWT35Druf5zyXg="} 响应包体data解密后的JSON字符串格式: {"id": "6c5bb468-14b2-4183-baf2-06d523e03bd3"}
-
接口格式 OneAccess同步事件回调接口的请求方式为POST,数据编码为UTF-8,数据格式为JSON。 如果应用系统接收事件回调的URL为 https://{app_domain}/callback,当OneAccess的企业发生组织机构或用户变动时,OneAccess将发生变动的业务数据推送至该回调地址。 URL POST https://{app_domain}/callback 请求头 Authorization: Bearer {access_token},可参考表1中的安全令牌。 请求参数 表1 请求参数 参数 参数类型 描述 nonce String 随机数,与timestamp结合使用,用于防止请求重放攻击。 timestamp Integer 时间戳,与nonce结合使用,用于防止请求重放攻击。 eventType String 事件类型,参见事件类型列表。 data String 消息体,当未开启加密时,发送明文的消息体;当开启加密时,发送加密的消息体,需要解密得到消息内容,解密后有random、msg二个字段,其中msg即为明文消息内容。 signature String 消息签名,当未开启签名时,签名信息为空字符串;当开启签名时,生成签名信息,signature计算结合企业应用填写的签名密钥(signatureSaltValue)、请求中的timestamp、nonce、加密的消息体。 响应参数 表2 响应参数 参数 参数类型 描述 code String 返回code码,200表示成功,失败错误码请参考公共返回码。 message String 处理出错时的错误原因说明。 data String 返回的消息体。不同的业务回调要求返回不同内容,比如回复空串,或者要求的业务数据。 当未开启加密时,返回明文的消息体。 当开启加密时,返回加密的消息体,需要解密得到消息内容,解密后有random、msg二个字段,其中msg即为明文消息内容。 请求示例 未启用消息签名和加密的请求示例: {"nonce": "123456","timestamp": 1783610513,"eventType": "eventType","data": "明文的消息","signature": ""} 启用消息签名和加密的请求示例: {"nonce": "123456","timestamp": 1783610513,"eventType": "eventType","data": "1ojvw2WPvW7LijxS8UvISr8pdDP+rXpPbcLGOmIBNbWetRg7IP0vdhkl","signature": "111108bb8e6dbce3c9671d6fdb69d15066227608"} 响应示例 状态码:200 请求成功 未启用消息签名和加密的响应示例: {"code": "200","message": "success","data": "明文的消息"} 启用消息签名和加密的响应示例: {"code": "200","message": "success","data": "P+rXpWetRg7IP0vdhVgkVwSoZBJeQwY2zhROsJq/HJ+q6tp1qhl9L1+c"}
-
请求示例 启用消息签名和加密的请求示例: {"nonce": "AmgjjEAJbrMzWmUw","timestamp": 1509384....,"eventType": "CREATE_USER","data": "6lu6gxrdJIXEWxQhUa3UqsXHWsDZ5LTAo/xU3zhjq9H3syCuFYDYKg==","signature": "K08yDiTEc094KoccOY+VYLQFxxQ="} 请求包体data解密后的JSON字符串格式: {"username": "zhangsan","name": "张三","mobile": "1899876....","email": "zhangsan@test.com","organizationId": "391551e8-160f-4993-8177-e7b9c5f6....","extAttr1": "value","extAttr2": "value"}
-
请求示例 启用消息签名和加密的请求示例: {"nonce": "AmgjjEAJbrMzWmUw","timestamp": "15093849585","eventType": "DELETE_USER","data": "6IXEWxQhUa3UqsXHWsDZ5LTAo/xU3zhjq9H3syCuFYDYKg==","signature": "K08yDiTEc094KoccOY+VYLQFxxQ="} 请求包体data解密后的JSON字符串格式: {"id": "c3a26dd3-27a0-4dec-a2ac-ce211e10...."}
-
请求参数 以下请求参数以企业实际配置的身份同步参数为准,企业管理员可以参考9设置同步至目标应用的属性。 表1 请求参数 参数 固定参数 参数类型 描述 username 是 String(100) 用户名。 name 是 String(40) 用户姓名。 organizationId 是 String 组织机构ID。 password 是 String 密码。 disabled 是 Boolean 是否禁用,true表示禁用状态,fasle表示启用(未禁用)。 firstName 否 String(20) 名字。 middleName 否 String(20) 中间名。 lastName 否 String(20) 姓氏。 mobile 否 String 手机号。 email 否 String 邮箱地址。 extAttr1 否 -- 扩展属性1,企业扩展的用户属性,以实际情况为准。 extAttr2 否 -- 扩展属性2,企业扩展的用户属性,以实际情况为准。
-
响应示例 状态码:200 请求成功 启用消息签名和加密的响应示例: {"code": "200","message": "success","data": "P+rXpWetRg7IP0vdhVgkVwSoZBJeQwY2zhROsJq/HJ+q6tp1qhl9L1+c"} 响应包体data解密后的JSON字符串格式: {"id": "c3a26dd3-27a0-4dec-a2ac-ce211e10...."}
-
同步状态说明 本节主要介绍同步完成后,各种状态的含义。方便您对异常状态进行排查定位。 以应用账号App_acc01、应用机构App_org01、原同步事件E0、新同步事件E1为例。 待处理 英文为“PENDING”,当应用账号App_acc01在生成新的同步事件E1时,如果该应用账号App_acc01之前的同步事件E0未执行完成,则生成的新事件E1的状态为待处理。 排队 英文为“QUEUING”,当应用账号App_acc01的同步事件E1可以执行时,会将该事件发送至Kafka执行消息队列,发送成功后,修改ES中存储的同步事件E1的状态为排队,表示该事件已成功加入执行队列。 发送 英文为“RUNNING”,当同步事件E1可执行时,在开始执行前将存储在ES中的同步事件E1的状态修改为RUNNING,修改成功后,调用下游应用系统的接口开始同步,表示该事件已成功处于运行状态。 成功 英文为“SUC CES S”,同步事件执行成功后,会将该事件的状态SUCCESS写入ES,表示该事件已执行成功。 失败 英文为“FAILURE”,同步事件执行失败后,会将该事件的状态FAILURE写入ES,表示该事件已执行失败。 忽视 英文为“IGNORED”,该状态涉及2种场景: 当应用账号 App_acc01 在执行一个更新的同步事件时,如果发现后续有新的更新事件,则直接忽视该事件,并执行新的更新事件。 执行全量同步时,会忽视之前所有的同步事件。 略过 英文为“SKIPPED”,该状态暂时未使用。 挂起 英文为“WAITING”,当应用账号App_acc01对应用机构App_org01存在依赖关系时,应用机构App_org01未同步成功,则该机构下应用账号App_acc01的所有同步事件状态为挂起。
-
签名校验/加解密术语 表1 术语 术语 说明 signature 消息签名,用于验证请求是否来自OneAccess,以防攻击者伪造。签名算法为HMAC-SHA256 + Base64。 AESKey AES算法的密钥,加密算法为AES/GCM/NoPadding + Base64。 msg 明文消息体,格式为JSON。 encrypt _msg 明文消息msg加密处理并进行Base64编码后的密文。
-
密文解密过程 对密文进行BASE64解码。 byte[] encryptStr = Base64.getDecoder().decode(data); 使用AESKey进行解密。 Cipher cipher = Cipher.getInstance("AES/GCM/NoPadding"); SecretKeySpec secretKey = new SecretKeySpec(加密密钥.getBytes(StandardCharsets.UTF_8), "AES"); cipher.init(2, secretKey); byte[] bytes = cipher.doFinal(encryptStr); 去掉rand_msg头部的16个随机字节,剩余的部分即为明文内容msg。 String dataStr = StringUtils.split(new String(bytes, StandardCharsets.UTF_8), "&")[1];
-
明文加密过程 拼接明文字符串。明文字符串由16个字节的随机字符串、明文msg拼接组成,中间使用&进行连接。以下为Java语言示例: String dataStr = RandomStringUtils.random(16, true, false) + "&" + data; 对拼接后的明文字符串使用AESkey加密后,再进行Base64编码,获得密文encrypt_msg。以下为Java语言示例: Cipher cipher = Cipher.getInstance("AES/GCM/NoPadding"); SecretKeySpec secretKey = new SecretKeySpec(加密密钥.getBytes(StandardCharsets.UTF_8), "AES"); cipher.init(1, secretKey); byte[] bytes = dataStr.getBytes(StandardCharsets.UTF_8); String ecnryptStr = Base64.getEncoder().encodeToString(cipher.doFinal(bytes));
-
公共返回码 事件回调接口采用HTTP状态码表示操作结果成功或者失败。企业应用的回调服务参考以下错误码及错误提示进行返回,OneAccess将返回的错误码和错误信息保存到应用同步记录中。 表1 公共返回码 返回码code 说明 200 success。 400 参数XX已存在,如参数userName已存在。 参数XX不能为空,如参数id不能为空。 参数XX超过指定长度,如参数name超过指定的长度。 参数XX格式不符合,如参数email格式不符合。 401 接口鉴权失败。 404 XX记录不存在,如用户不存在。 500 系统繁忙,请稍后重试。 父主题: 通过事件回调方式同步数据至应用
更多精彩内容
CDN加速
GaussDB
文字转换成语音
免费的服务器
如何创建网站
域名网站购买
私有云桌面
云主机哪个好
域名怎么备案
手机云电脑
SSL证书申请
云点播服务器
免费OCR是什么
电脑云桌面
域名备案怎么弄
语音转文字
文字图片识别
云桌面是什么
网址安全检测
网站建设搭建
国外CDN加速
SSL免费证书申请
短信批量发送
图片OCR识别
云数据库MySQL
个人域名购买
录音转文字
扫描图片识别文字
OCR图片识别
行驶证识别
虚拟电话号码
电话呼叫中心软件
怎么制作一个网站
Email注册网站
华为VNC
图像文字识别
企业网站制作
个人网站搭建
华为云计算
免费租用云托管
云桌面云服务器
ocr文字识别免费版
HTTPS证书申请
图片文字识别转换
国外域名注册商
使用免费虚拟主机
云电脑主机多少钱
鲲鹏云手机
短信验证码平台
OCR图片文字识别
SSL证书是什么
申请企业邮箱步骤
免费的企业用邮箱
云免流搭建教程
域名价格