TIP
# 2.2. 实现外部秘钥登录勤策
# 2.2.1. 沿路径找到菜单 “系统管理” - “企业设置” - “企业参数”,打开"内置功能"页签下"安全设置",找到并设置“OA登录密钥”。
注意:设置密钥为32位以内随机数字、字母或下划线。
# 2.2.2. 打开菜单"员工管理"下"第三方系统对接",打开“员工映射列表”
其中员工ID
对应2.1.1 获取接入AccessToken (opens new window)接口中userId
,来源编码
对应接口中thirdId
# 2.2.3. 在员工映射列表中,点击"编辑",可以设置系统员工对应的来源编码。
注意:来源编码用于绑定外部系统员工,必须唯一。 如果系统中员工是通过OpenAPI (opens new window)创建的,则OpenAPI接口中的emp_id
对应2.1.1 获取接入AccessToken (opens new window)接口中的thirdId
# 2.2.5. 准备登录原始数据,并使用加密算法将数据体加密。
测试场景:准备以test
用户登录WEB端直接打开test.html
页面,如果test
用户来源编码设置为123456
,数据原文如下:
{
"sourceType": "WEB",
"redirectUrl": "/test.html",
"tenantId": 4802948302940558496,
"thirdId": "123456"
}
使用示例中加密工具类DataEncryptUtil.encryptText(JSON_DATA, OA_KEY, nonce, timestamp)
进行加密,示例数据如下:
数据体原文字符串JSON_DATA={"sourceType": "WEB","redirectUrl":"/test.html","tenantId":4802948302940558496,"thirdId": "123456"}
OA登录秘钥OA_KEY=XXXXXXX
随机字符串nonce=1234
时间戳timestamp=1725413592313
生成加密后数据示例如下:
P3EENkBmTTJ2OxZxl+/BTWED4D/GZNQPL6Q6pNqmDkcsCCa/ia/R5mQwWdDsQTa7PF5IguXVNwhrEnotDaT5/B8c/XLHiS9sUPfFRp5vfyWwPKbjzVLJ+j+3SfypAQiI5S8nDhUUHVG1Qy/wYV9MvhtlI0/kgXLsLr8NbFedyPdZzlKEtPZAZCawQqq1Llu0
# 2.2.6. 准备请求获取登录授权AccessToken,请求参数保持和加密中参数一致
请求:
POST https://cloud.region2.qince.com/openplat/getTokenFromThirdparty.do
{
"tenantId":4802948302940558496,
"data":"P3EENkBmTTJ2OxZxl+/BTWED4D/GZNQPL6Q6pNqmDkcsCCa/ia/R5mQwWdDsQTa7PF5IguXVNwhrEnotDaT5/B8c/XLHiS9sUPfFRp5vfyWwPKbjzVLJ+j+3SfypAQiI5S8nDhUUHVG1Qy/wYV9MvhtlI0/kgXLsLr8NbFedyPdZzlKEtPZAZCawQqq1Llu0",
"nonce":"1234",
"timestamp":1725413592313
}
响应信息:
{
"code": 1,
"data": {
"access_token": "qc4802948302940558496ak5XLynGNh3e7a04a1b6d54fd8bf0451db8958c823",
"expire_in": 86400
},
"message": "ok"
}
# 2.2.7. 准备请求打开WEB页面
通过浏览器打开跳转地址:
Location: https://cloud.region2.qince.com/openplat/redirectFromThirdparty.do?accessToken=qc4802948302940558496ak5XLynGNh3e7a04a1b6d54fd8bf0451db8958c823