Kauth网络验证系统Kauth网络验证系统
首页
HTTP API文档
作者|代理后台
首页
HTTP API文档
作者|代理后台
  • Kaut介绍

    • 验证系统
    • 相关知识
    • 防破要诀
  • 网络验证

    • 数据安全
    • 心跳守护
    • 对接说明
    • C语言接口
  • 对接文档

    • HTTP对接
    • 懒人对接
    • AutoJs对接
    • EasyClick对接
    • Java对接
    • Python对接
    • 按键精灵

AutoJs对接

AutoJs对接网络验证

本文档介绍如何在 Auto.js 环境中使用 VerifyHub SDK 实现网络验证功能。

1. 准备工作

1.1 下载 SDK

重要提示 首先下载SDK文件: 网盘下载

Auto.js SDK 文件为 verifyhub.js,请将文件放置在你的项目目录中。

1.2 获取必要的参数

在使用 SDK 之前,你需要从 Kauth 管理后台获取以下信息:

  • API 域名(paramApiDomain):验证服务器地址
  • 程序ID(paramProgramId):登录后在"程序管理->程序列表"中查看
  • 程序密钥(paramProgramSecret):登录后在"程序管理->程序列表"中查看
  • 商户公钥(paramMerchantPublicKey):登录后在"系统配置"中查看,需要复制 RSA 密钥,注意使用 PKCS#8 格式

1.3 签名类型

Auto.js SDK 目前只支持 RSA 签名算法,如需其他签名算法可自行扩展。

2. 引入 SDK

在 Auto.js 脚本中引入 SDK:

var verifyhub = require("./verifyhub.js");

3. 初始化配置

在使用任何功能之前,必须先初始化 SDK 配置:

// 卡密服务器地址,如果是独立部署版本,请更换为你的服务器地址
var paramApiDomain = "https://verifyhub.cn";

// 程序ID,登录系统后在程序管理->程序列表中查看
var paramProgramId = "1959821336266936321";

// 程序密钥,登录系统后在程序管理 -> 程序列表中查看
var paramProgramSecret = "F77VzI7UWAElpWrz";

// 商户密钥,登录系统后在系统配置中查看,请复制RSA密钥,注意复制PKCS#8格式的密钥
var paramMerchantPublicKey = "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCDmTDsasTz60Fej0J+hUEOlQCvpQkYE/COoKQbtKXNlgHNosaL/6V7oVwrcIpeb4j0FrKy6/Zwr7X0q3yTIVH0Mz+aBPEwPmrBRQfIwo2F03Cj66CM5mdMtIAELMuQteuZX9xYi1bQCBQ6OTj/n720/qo5IgdKe8mLaxNvUvLN6wIDAQAB";

// Auto.js暂时只支持RSA签名算法
var paramKauthSignType = "RSA";

// 当前平台-适用于多平台的脚本开发者通过卡密控制支持多平台
var platformType = "autojs_mobile";

// 初始化配置
verifyhub.initConfig(
    paramApiDomain,      // API域名
    paramProgramId,      // 程序ID
    paramMerchantPublicKey,  // 商户公钥
    paramProgramSecret,  // 程序密钥
    "RSA"               // 签名类型
);

4. 登录功能

4.1 卡密登录

使用卡密进行登录:

var loginResp = verifyhub.kaLogin("26d6968384714e2e8ed34ac7593bcb49", platformType, "", "");
console.log("卡密登录结果:", loginResp);

// 预期结果:
// {
//     success: true,
//     userId: "1980457194587283457",
//     nickName: "卡密用户",
//     msg: "操作成功",
//     code: 200
// }

4.2 账号密码登录

使用用户名和密码进行登录:

var loginResult = verifyhub.pwdLogin("test_user", "123456", "", "");
console.log("账号密码登录结果:", loginResult);

// 预期结果:
// {
//     userId: "1973207649463582721",
//     msg: "操作成功",
//     code: 200,
//     nickName: "test_user",
//     success: true
// }

4.3 试用登录

使用试用功能登录:

var trialLoginResult = verifyhub.trialLogin();
console.log("试用登录结果:", trialLoginResult);

// 预期结果:
// {
//     nickName: "卡密用户",
//     success: true,
//     msg: "操作成功",
//     code: 200,
//     userId: "1980457194587283457"
// }

4.4 退出登录

退出当前登录状态:

// 需要先登录
var loginoutResult = verifyhub.loginOut();
console.log("退出登录结果:", loginoutResult);

// 预期结果:
// {
//     code: 200,
//     msg: "操作成功",
//     success: true
// }

5. 用户管理

5.1 用户注册

注册新用户:

var registerResult = verifyhub.register(
    "autojs_user1",    // 用户名
    "123456",          // 密码
    "用户昵称",        // 昵称
    "注册卡密",        // 注册卡密(可选)
    "",                // 验证码ID
    ""                 // 验证码答案
);
console.log("用户注册结果:", registerResult);

// 预期结果:
// {
//     loginName: "autojs_user1",
//     userId: "1980574847339454466",
//     msg: "操作成功",
//     code: 200,
//     nickName: "用户昵称",
//     success: true
// }

5.2 修改密码

修改用户密码:

var changePasswordResult = verifyhub.changePassword(
    "test_user",       // 用户名
    "旧密码",          // 旧密码
    "新密码",          // 新密码
    "新密码",          // 确认新密码
    "",                // 验证码ID
    ""                 // 验证码答案
);
console.log("修改密码结果:", changePasswordResult);

// 预期结果:
// {
//     msg: "操作成功",
//     success: true,
//     code: 200
// }

5.3 获取用户信息(心跳)

重要提示: 登录有效期默认 10 分钟,建议写个定时任务定时获取用户信息。每次调用一次获取用户信息,登录有效期会延期 10 分钟。

获取当前登录用户的信息:

var userInfoResult = verifyhub.userInfo();
console.log("用户信息:", userInfoResult);

// 注册用户信息示例:
// {
//     userId: "1973207649463582721",
//     msg: "操作成功",
//     serverExpireTime: "2025-10-23 16:50:47", // 服务到期时间
//     serverType: "time",  // 服务类型:time(时间)、ci(次卡)
//     code: 200,
//     trial: false,  // 是否是试用用户
//     success: true,
//     serverRemainNum: null  // 剩余次数,次卡登录专用
// }

// 卡密用户信息示例:
// {
//     code: 200,
//     trial: false,  // 是否试用
//     serverType: "ci",  // 服务类型为次数
//     serverRemainNum: "9", // 剩余登录次数
//     msg: "操作成功",
//     serverExpireTime: null,
//     userId: "1980457194587283457",
//     success: true
// }

6. 充值功能

6.1 账号充值

使用卡密为账号充值:

var rechargeResult = verifyhub.recharge(
    "test_user",       // 用户名
    "充值卡密",       // 卡密
    "",                // 验证码ID
    ""                 // 验证码答案
);
console.log("账号充值结果:", rechargeResult);

// 预期结果:
// {
//     code: 200,
//     msg: "操作成功",
//     success: true
// }

6.2 以卡充卡

使用卡密A为卡密B充值:

var rechargeKaResult = verifyhub.rechargeKa(
    "卡密A",          // 源卡密
    "卡密B"           // 目标卡密
);
console.log("以卡充卡结果:", rechargeKaResult);

// 预期结果:
// {
//     success: true,
//     code: 200,
//     msg: "操作成功"
// }

7. 程序信息

7.1 获取程序详情

获取程序的详细信息(无需登录):

var detail = verifyhub.getProgramDetail();
console.log("程序详情:", detail);

// 预期结果:
// {
//     currentVersion: {     // 当前最新的版本
//         versionDownUrl: "https://www.baidu.com", // 最新版本下载地址
//         versionNo: 1,	// 最新版本号
//         versionDesc: "1.0.1", // 版本描述
//         versionName: "1.0.1"  // 版本名称
//     },
//     msg: "操作成功",
//     name: "第一个程序",	// 程序名称
//     status: true,	// 程序是否启用
//     success: true,
//     notice: "测试账号:test 密码:123456", // 程序公告
//     enableRegisterDict: true, 	// 是否开启注册
//     code: 200,
//     programId: "1959821336266936321", 	// 程序ID
//     forceUpdateDict: true	// 是否强制更新
// }

7.2 获取服务器时间

获取服务器当前时间(无需登录):

var serverTime = verifyhub.getServerTime();
console.log("服务器时间:", serverTime);

// 预期结果:
// {
//     serverTimeMill: "1761027691365",  // 服务器时间-毫秒
//     code: 200,
//     success: true,
//     msg: "操作成功",
//     serverTimeSec: "1761027691",	// 服务器时间-秒
//     serverTimeStr: "2025-10-21 14:21:31"	// 服务器时间-字符串
// }

7.3 获取验证码

获取登录验证码(无需登录,登录、注册、充值等接口可选使用):

var captcheResult = verifyhub.getCaptcha(verifyhub.generateUUID());
console.log("获取验证码结果:", captcheResult);

// 预期结果:
// {
//     success: true,
//     uuid: "58ae597cf7634ee4b799924a7e6ecf70",  // 图形码的id
//     msg: "操作成功",
//     code: 200,
//     captchaBase64: "iVBORw0KGgoAAAANSUhEUgAAAHgAAAAoCAIAAAC6iKlyAAAKU..." // base64格式的图片
// }

8. 设备管理

8.1 解绑登录中的设备

解除绑定当前登录的设备(需要先登录):

var unBindResult = verifyhub.unBindLoginDevice();
console.log("解绑设备结果:", unBindResult);

// 预期结果:
// {
//     success: true,
//     code: 200,
//     msg: "操作成功"
// }

8.2 解绑设备(非登录状态)

在未登录状态下解绑设备:

var unbindDeviceResult = verifyhub.unbindDevice(
    "test_user",       // 用户名
    "123456",          // 密码
    "",                // 验证码ID
    ""                 // 验证码答案
);
console.log("解绑设备结果:", unbindDeviceResult);

// 预期结果:
// {
//     success: true,
//     msg: "操作成功",
//     code: 200
// }

9. 配置管理

9.1 卡密配置

卡密用户可以保存自定义配置数据:

// 修改卡密配置
var updateResult = verifyhub.updateKaConfig("张三:18岁");
console.log("修改卡密配置结果:", updateResult);

// 查询卡密配置
var kaConfigResult = verifyhub.getKaConfig();
console.log("查询卡密配置结果:", kaConfigResult);

// 预期结果:
// {
//     msg: "操作成功",
//     code: 200,
//     config: "张三:18岁",  // 查询到的结果
//     success: true
// }

9.2 用户配置

注册用户可以保存自定义配置数据:

// 修改用户配置
var updateResult = verifyhub.updateUserConfig("李四:21岁");
console.log("修改用户配置结果:", updateResult);

// 查询用户配置
var userConfigResult = verifyhub.getUserConfig();
console.log("查询用户配置结果:", userConfigResult);

// 预期结果:
// {
//     config: "李四:21岁",   // 查询到的结果
//     code: 200,
//     msg: "操作成功",
//     success: true
// }

10. 远程数据管理

远程数据管理功能允许用户存储和管理自定义数据。

10.1 添加远程数据

var addResult = verifyhub.addRemoteData("user_config_1", "张三");
console.log("添加远程数据结果:", addResult);

// 预期结果:
// {
//     msg: "操作成功",
//     success: true,
//     code: 200
// }

10.2 获取远程数据

var getResult = verifyhub.getRemoteData("user_config_1");
console.log("查询远程数据结果:", getResult);

// 预期结果:
// {
//     msg: "操作成功",
//     value: "张三",  // 查询到的value数据
//     success: true,
//     code: 200
// }

10.3 更新远程数据

var updateResult = verifyhub.updateRemoteData("user_config_1", "李四");
console.log("更新远程数据结果:", updateResult);

// 预期结果:
// {
//     msg: "操作成功",
//     success: true,
//     code: 200
// }

10.4 删除远程数据

var deleteResult = verifyhub.deleteRemoteData("user_config_1");
console.log("删除远程数据结果:", deleteResult);

// 预期结果:
// {
//     msg: "操作成功",
//     success: true,
//     code: 200
// }

11. 远程变量

获取远程变量(无需登录):

var remoteVarResult = verifyhub.getRemoteVar("test_var_to_get");
console.log("获取远程变量结果:", remoteVarResult);

// 预期结果:
// {
//     code: 200,
//     value: "123213123123",  // 远程变量里的数据
//     success: true,
//     msg: "操作成功"
// }

12. 远程函数

调用远程函数(需要登录):

// 定义函数参数
var functionParams = [
    {
        paramName: "param1",  // 变量名
        paramValue: "12"       // 变量值
    },
    {
        paramName: "param2",
        paramValue: "24"
    }
];

// 调用远程函数
var functionResult = verifyhub.callFunction("function_1", functionParams);
console.log("调用远程函数结果:", functionResult);

// 预期结果:
// {
//     code: 200,
//     msg: "操作成功",
//     result: "36.0",  // 远程函数返回的数据
//     success: true
// }

13. 脚本更新

获取并更新最新脚本:

// 查询最新的脚本
var newestResult = verifyhub.getNewestScript("test_script");
console.log("查询最新脚本结果:", newestResult);

// 预期结果:
// {
//     code: 200,
//     scriptReleaseTime: "2025-10-01 18:43:21",
//     scriptType: "TEXT",  // 脚本类型: TEXT(文本)  BINARY(二进制)
//     scriptName: "test_script",  // 脚本名称 
//     msg: "操作成功",
//     success: true,
//     versionNumber: "1.0.1",   // 最新的版本
//     versionDescription: "新版本1.0.1"  // 版本描述 
// }

// 查询脚本的临时下载地址
if (newestResult && newestResult.success && newestResult.versionNumber) {
    var scriptDownloadResult = verifyhub.getScriptDownload(
        "test_script", 
        newestResult.versionNumber
    );
    console.log("脚本下载地址:", scriptDownloadResult);

    // 预期结果:
    // {
    //     downloadUrl: "https://verifyhub.cn/api/consumer/remote/scriptDownload/68f8387ee4b0a960ff22da63",
    //     code: 200,
    //     success: true,
    //     msg: "操作成功"
    // }

    // 下载脚本内容,如果是文本文件可以直接输出
    // 注意:在Auto.js中需要使用http模块来下载文件
    if (scriptDownloadResult && scriptDownloadResult.success) {
        var scriptResponse = http.get(scriptDownloadResult.downloadUrl);
        console.log("响应码 = " + scriptResponse.statusCode);
        console.log("脚本内容 = " + scriptResponse.body.string());
    }
}

14. 完整示例

// 引入SDK
var verifyhub = require("./verifyhub.js");

// 1. 初始化配置
var paramApiDomain = "https://verifyhub.cn";
var paramProgramId = "你的程序ID";
var paramProgramSecret = "你的程序密钥";
var paramMerchantPublicKey = "你的商户公钥";

verifyhub.initConfig(
    paramApiDomain,
    paramProgramId,
    paramMerchantPublicKey,
    paramProgramSecret,
    "RSA"
);

// 2. 卡密登录
var loginResp = verifyhub.kaLogin("你的卡密", "autojs_mobile", "", "");
if (loginResp && loginResp.success) {
    console.log("登录成功,用户ID:", loginResp.userId);
    
    // 3. 获取用户信息(心跳,保持登录状态)
    var userInfo = verifyhub.userInfo();
    console.log("用户类型:", userInfo.serverType);
    console.log("剩余次数:", userInfo.serverRemainNum);
    console.log("到期时间:", userInfo.serverExpireTime);
    
    // 4. 使用远程数据
    verifyhub.addRemoteData("my_data", "Hello World");
    var data = verifyhub.getRemoteData("my_data");
    console.log("远程数据:", data.value);
    
    // 5. 退出登录
    verifyhub.loginOut();
}

15. 注意事项

  1. 登录状态维持:登录有效期默认 10 分钟,建议写个定时任务定时调用 userInfo() 来保持登录状态。每次调用 userInfo() 登录有效期会延期 10 分钟。

  2. SDK 下载:SDK 下载请登录后台管理系统,在系统首页进行下载。

  3. 需要登录的功能:所有需要登录的功能,必须先调用登录接口。

  4. 配置存储:卡密配置和用户配置是分别独立的存储空间。

  5. 远程功能:远程函数和远程数据需要登录后才能使用。

  6. 脚本更新:脚本更新功能可以用于实现脚本在线更新。

  7. 验证码:验证码用于某些安全操作,如注册、修改密码等。

16. 错误处理

所有 API 调用都会返回统一格式的响应:

{
    code: 200,           // 状态码,200表示成功
    msg: "操作成功",     // 提示信息
    success: true,      // 是否成功
    // ... 其他数据字段
}

建议在实际使用时检查 success 字段:

var result = verifyhub.kaLogin("卡密", platformType, "", "");
if (result && result.success) {
    // 登录成功
    console.log("用户ID:", result.userId);
} else {
    // 登录失败
    console.error("登录失败:", result.msg);
}

17. 心跳机制示例

推荐使用心跳机制来保持登录状态:

function keepAlive() {
    if (isLoggedIn) {
        var userInfo = verifyhub.userInfo();
        if (userInfo && userInfo.success) {
            console.log("心跳成功,剩余次数:", userInfo.serverRemainNum);
        } else {
            console.error("心跳失败,需要重新登录");
            isLoggedIn = false;
        }
    }
}

// 每 5 分钟执行一次心跳
setInterval(keepAlive, 5 * 60 * 1000);

18. 更多信息

  • 更多 API 接口说明请参考 API 文档
  • 如有问题,请联系技术支持:admin@verifyhub.cn 或 QQ: 5027954
最近更新:: 2025/12/4 12:54
Contributors: SongLongKuan
Prev
懒人对接
Next
EasyClick对接