Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 22 additions & 0 deletions CHANGELOG
Original file line number Diff line number Diff line change
@@ -1,3 +1,25 @@
XEngine_Authorize V3.24.0.1001

增加:创建客户端ID和KEY支持
增加:oauth 支持插入会话管理器
增加:撤销,创建和更新auth2.0协议
更新:依赖库
修改:http 的token验证不需要需要传递设备类型
修复:mqtt连接失败没有响应的问题
修复:创建顺序问题
修复:ql扫描问题
删除:客户端用户表的token

added:create client id and key support for token
added:insert session management for oauth token
added:revoke create fresh for auth 2.0
update:depend library
modify:does not need device type for token with http
fixed:does not reply when mqtt connect failure
fixed:generator order incorrect
fixed:ql scan problem
delete:client user token
================================================================
XEngine_Authorize V3.23.0.1001

ci:add agentic workflows for issue triage and auto fix
Expand Down
6 changes: 4 additions & 2 deletions README.en.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@ feature list:
18. support dynamic verifaction code
19. support mulit login and merge time
20. user bind hardware code
21. OAuth2.0 Verification Support

## install

Expand Down Expand Up @@ -119,7 +120,7 @@ port :tcp port 5300,websocket port 5301,http management port 5302,Transmission v
#### app packet service
If you don't have software development capabilities, don't want to implement it yourself, or want to add authorization verification to other software, we also provide an authorization packaging service, which allows your program to directly package our verification.
Program Packaging Service is a paid service, and you can package and add verification to any program. You can integrate our verification service without requiring source code or modifying your program. After packaging is complete, when it is run next time, our verification client will run first, and then your provided program will run after verification is successful, which is very convenient to use.
This service is paid, priced at 200 per package. It supports both x86 and x64 programs, and only requires you to provide your server address, port, and verification mode. The process is as follows:
This service is paid, priced at $20 per package. It supports both x86 and x64 programs, and only requires you to provide your server address, port, and verification mode. The process is as follows:
Payment → Send the program to us → We package it → Verification testing → Send the packaged program to you → Completed
After packaging, when the program is launched, the following window will open first. Only after a successful login will your program start. As shown below, once launched, the main interface will be displayed. After login, the main interface will close and your program will then start.
![Main Interface](./XEngine_Picture/packet_1.png "Main Interface")
Expand All @@ -132,9 +133,10 @@ After packaging, when the program is launched, the following window will open fi
The verification timer will automatically stop. Supported features include login, local CDKEY verification, registration, recharge, password recovery, and remaining time query.
Note: This feature is only a packaging replacement. If you require full encryption, shell protection, and higher security, you must implement it yourself through code development.
#### Packager
We can also provide the original packager if you have more packaging needs. The packager is currently in a promotional campaign, 500 yuan.
We can also provide the original packager if you have more packaging needs. The packager is currently in a promotional campaign, $50 .
You can choose our verification program, then select the program you want to package. Then select the configuration file, and that's it. It supports automatically updating the program icon to your software icon.
Configuration file supports configuring encryption and decryption communication and authentication mode
The packer can provide source code. It is written in C++. Please contact us if you need it
![Main Interface](./XEngine_Picture/packer_1.png "Main Interface")

## Participate in contribution
Expand Down
6 changes: 4 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@ c c++network Authorize service
18. 支持动态验证码登录
19. 支持多端登录和合并用时
20. 用户绑定硬件码登录
21. OAuth2.0 验证支持

## 架构预览
XEngine_Authorize
Expand Down Expand Up @@ -130,7 +131,7 @@ Linux or macos:直接运行即可
#### 程序打包服务
如果你没有开发软件能力或者不想自己实现或者想给其他软件添加授权验证,我们也提供了授权打包服务,这个服务可以直接让你的程序打包我们的验证.
程序打包服务是一个付费服务,你可以为任意程序打包加验证.不需要源代码不修改你的程序就可以集成我们的验证服务,当打包完成后,当下次运行,就会先运行我们的验证客户端,验证通过后再运行你提供的程序,非常方便使用.
此服务需要付费,200元3次,不限制x86或者x64位程序,你只需要告诉我们你的服务器地址端口验证模式即可.流程如下:
此服务需要付费,100元3次,不限制x86或者x64位程序,你只需要告诉我们你的服务器地址端口验证模式即可.流程如下:
付费->发送程序给我们->我们打包->测试验证->发送打包程序给你->完成
当打包后,运行程序会优先打开下面的窗口,登录成功后才会启动你的程序,如下图,开启后会显示主界面,登录后主界面会关闭,然后启动你的程序
![主界面](./XEngine_Picture/packet_1.png "主界面")
Expand All @@ -143,9 +144,10 @@ Linux or macos:直接运行即可
会自动结束验证计时.支持登录,本地CDKEY验证,注册,充值,找回密码,获取剩余时间.
注意:此功能只是替代打包,如果你想要完全的加密加壳安全性高的,必须自己使用代码开发.
#### 打包器
我们也可以提供原始打包器,如果你有更多打包需求.打包器目前优惠活动中,500元.
我们也可以提供原始打包器,如果你有更多打包需求.打包器目前优惠活动中,200元.
可以选择我们的验证程序,然后选择你要打包的程序.在选择配置文件即可,支持自动更新程序图标为你的软件图标.
配置文件支持配置加解密通信和验证模式
打包器可以提供源码,打包器使用C++ 编写,如果你需要可以联系我们
![主界面](./XEngine_Picture/packer_1.png "主界面")

## 参与贡献
Expand Down
Binary file modified XEngine_Docment/Docment_en.docx
Binary file not shown.
Binary file modified XEngine_Docment/Docment_zh.docx
Binary file not shown.
4 changes: 2 additions & 2 deletions XEngine_Release/XEngine_Config/XEngine_Config.json
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@
"nTryMode": 1,
"st_XCDKey": {
"tszKeyFile": "./APPVer.key",
"tszKeyPass": "123123qa"
"tszKeyPass": "123123aa"
},
"st_XToken": {
"bAutoRenewal": false,
Expand All @@ -54,7 +54,7 @@
}
},
"XCrypto": {
"bEnable": true,
"bEnable": false,
"nCryptionType": 1,
"tszPassKey": "123123aa"
},
Expand Down
2 changes: 2 additions & 0 deletions XEngine_Release/XEngine_Config/XEngine_VersionConfig.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
{
"XVer":[
"V3.24.0.1001 Build20260820",
"V3.23.0.1001 Build20260630",
"V3.22.0.1001 Build20260316",
"V3.21.0.1001 Build20251223",
"V3.20.0.1001 Build20251104",
Expand Down
29 changes: 23 additions & 6 deletions XEngine_SQL/mysql.sql
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,15 @@

Source Server : QQCloud
Source Server Type : MySQL
Source Server Version : 80046 (8.0.46-0ubuntu0.24.04.2)
Source Server Version : 80046 (8.0.46-0ubuntu0.24.04.3)
Source Host : 118.25.14.242:3306
Source Schema : authorize

Target Server Type : MySQL
Target Server Version : 80046 (8.0.46-0ubuntu0.24.04.2)
Target Server Version : 80046 (8.0.46-0ubuntu0.24.04.3)
File Encoding : 65001

Date: 30/06/2026 10:05:45
Date: 20/08/2026 10:18:42
*/

SET NAMES utf8mb4;
Expand Down Expand Up @@ -80,6 +80,24 @@ CREATE TABLE `Authorize_Login` (
-- Records of Authorize_Login
-- ----------------------------

-- ----------------------------
-- Table structure for Authorize_OAuth
-- ----------------------------
DROP TABLE IF EXISTS `Authorize_OAuth`;
CREATE TABLE `Authorize_OAuth` (
`tszUserName` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
`tszTokenStr` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL,
`tszUPToken` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL,
`tszClientID` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
`tszClientKey` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
`nExpirationTime` int NOT NULL,
`tszCreateTime` datetime NOT NULL
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of Authorize_OAuth
-- ----------------------------

-- ----------------------------
-- Table structure for Authorize_Serial
-- ----------------------------
Expand Down Expand Up @@ -127,7 +145,6 @@ CREATE TABLE `Authorize_User` (
`ID` int NOT NULL AUTO_INCREMENT,
`UserName` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '用户名',
`Password` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '密码',
`Token` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'Token',
`LeftTime` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '剩余时间',
`EmailAddr` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '电子邮件',
`HardCode` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '设备SN',
Expand All @@ -139,11 +156,11 @@ CREATE TABLE `Authorize_User` (
`UPTime` datetime NULL DEFAULT NULL COMMENT '登录时间',
`CreateTime` datetime NOT NULL COMMENT '注册时间',
PRIMARY KEY (`ID`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = DYNAMIC;
) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Records of Authorize_User
-- ----------------------------
INSERT INTO `Authorize_User` VALUES (1, 'admin', '123123aa', '0', '0', '486179@qq.com', 'DAFD2A2DAD', 1, 13699430000, 511025198881118888, 0, 0, '2022-09-21 15:06:45', '2022-09-21 15:06:45');
INSERT INTO `Authorize_User` VALUES (1, 'admin', '123123aa', '0', '486179@qq.com', 'DAFD2A2DAD', 1, 13699430000, 511025198881118888, 0, 0, '2022-09-21 15:06:45', '2022-09-21 15:06:45');

SET FOREIGN_KEY_CHECKS = 1;
27 changes: 22 additions & 5 deletions XEngine_SQL/sqlite.sql
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
/*
Navicat Premium Dump SQL

Source Server : auth
Source Server : SQL_User
Source Server Type : SQLite
Source Server Version : 3045000 (3.45.0)
Source Schema : main
Expand All @@ -10,7 +10,7 @@
Target Server Version : 3045000 (3.45.0)
File Encoding : 65001

Date: 30/06/2026 10:05:03
Date: 20/08/2026 10:18:57
*/

PRAGMA foreign_keys = false;
Expand Down Expand Up @@ -76,6 +76,24 @@ CREATE TABLE "Authorize_Login" (
-- Records of Authorize_Login
-- ----------------------------

-- ----------------------------
-- Table structure for Authorize_OAuth
-- ----------------------------
DROP TABLE IF EXISTS "Authorize_OAuth";
CREATE TABLE "Authorize_OAuth" (
"tszUserName" TEXT NOT NULL,
"tszTokenStr" TEXT,
"tszUPToken" TEXT,
"tszClientID" text,
"tszClientKey" TEXT,
"nExpirationTime" integer,
"tszCreateTime" DATE NOT NULL
);

-- ----------------------------
-- Records of Authorize_OAuth
-- ----------------------------

-- ----------------------------
-- Table structure for Authorize_Serial
-- ----------------------------
Expand Down Expand Up @@ -121,7 +139,6 @@ CREATE TABLE "Authorize_User" (
"ID" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
"UserName" TEXT NOT NULL,
"Password" TEXT NOT NULL,
"Token" TEXT NOT NULL,
"LeftTime" TEXT NOT NULL,
"EmailAddr" TEXT NOT NULL,
"HardCode" TEXT,
Expand All @@ -137,7 +154,7 @@ CREATE TABLE "Authorize_User" (
-- ----------------------------
-- Records of Authorize_User
-- ----------------------------
INSERT INTO "Authorize_User" VALUES (1, 'admin', '123123aa', '0', '5', '486179@qq.com', 'DAFD2A2DAD', 1, 13699430000, 511025198881118888, 0, 0, '2022-09-21 15:06:45', '2022-09-21 15:06:45');
INSERT INTO "Authorize_User" VALUES (1, 'admin', '123123aa', '5', '486179@qq.com', 'DAFD2A2DAD', 1, 13699430000, 511025198881118888, 0, 0, '2022-09-21 15:06:45', '2022-09-21 15:06:45');

-- ----------------------------
-- Table structure for sqlite_sequence
Expand Down Expand Up @@ -175,7 +192,7 @@ UPDATE "sqlite_sequence" SET seq = 1 WHERE name = 'Authorize_Serial';
-- ----------------------------
-- Auto increment value for Authorize_TempVer
-- ----------------------------
UPDATE "sqlite_sequence" SET seq = 41 WHERE name = 'Authorize_TempVer';
UPDATE "sqlite_sequence" SET seq = 1 WHERE name = 'Authorize_TempVer';

-- ----------------------------
-- Auto increment value for Authorize_User
Expand Down
1 change: 1 addition & 0 deletions XEngine_Source/AuthorizeModule_Configure/Config_Define.h
Original file line number Diff line number Diff line change
Expand Up @@ -161,6 +161,7 @@ typedef struct
bool bSwitchBanned; //黑名单
bool bSwitchTokenLogin; //TOKEN开关
bool bSwitchHCLogin; //硬件码登录
bool bSwitchOAuth; //是否启用OAuth
bool bSwitchHWBind; //硬件码绑定
}XENGINE_FUNCTIONSWITCH;
//////////////////////////////////////////////////////////////////////////
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -376,6 +376,7 @@ bool CModuleConfigure_Json::ModuleConfigure_Json_Switch(LPCXSTR lpszConfigFile,
pSt_ServerConfig->bSwitchBanned = st_JsonRoot["bSwitchBanned"].asBool();
pSt_ServerConfig->bSwitchTokenLogin = st_JsonRoot["bSwitchTokenLogin"].asBool();
pSt_ServerConfig->bSwitchHCLogin = st_JsonRoot["bSwitchHCLogin"].asBool();
pSt_ServerConfig->bSwitchOAuth = st_JsonRoot["bSwitchOAuth"].asBool();
pSt_ServerConfig->bSwitchHWBind = st_JsonRoot["bSwitchHWBind"].asBool();
return true;
}
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,12 @@ EXPORTS
DBModule_SQLite_AnnouncementDelete
DBModule_SQLite_AnnouncementList

DBModule_SQLite_OAuthInsert
DBModule_SQLite_OAuthDelete
DBModule_SQLite_OAuthList
DBModule_SQLite_OAuthUPDate
DBModule_SQLite_OAuthQuery

DBModule_MySQL_Init
DBModule_MySQL_Destroy

Expand Down Expand Up @@ -73,4 +79,10 @@ EXPORTS

DBModule_MySQL_AnnouncementInsert
DBModule_MySQL_AnnouncementDelete
DBModule_MySQL_AnnouncementList
DBModule_MySQL_AnnouncementList

DBModule_MySQL_OAuthInsert
DBModule_MySQL_OAuthDelete
DBModule_MySQL_OAuthList
DBModule_MySQL_OAuthUPDate
DBModule_MySQL_OAuthQuery
Loading
Loading