基于华东理工大学 AnyShare 网盘 API 开发的用户身份认证系统,用于验证用户是否为校内用户。
ecust-auth/ ├── composer.json # Composer 依赖配置 ├── ecust_auth.php # 核心认证类 ├── verify.php # Web 认证接口 ├── index.html # Web 认证界面 ├── extract_key.py # RSA 公钥提取工具(备用) ├── public_key.pem # RSA 公钥文件 ├── swagger.json # API 文档 ├── test.php # 环境测试脚本 └── README.md # 本文件
curl - HTTP 请求openssl - RSA 加密json - JSON 处理git clone https://cnb.cool/bestzyq/ecust-auth.git
cd ecust-auth
php -S localhost:8000
将项目目录配置为 Web 根目录,确保 public_key.pem 不可被直接访问。
php ecust_auth.php <学/工号> <密码>
# 示例
php ecust_auth.php 2101XXXX your_password
index.htmlrequire_once 'ecust_auth.php';
$auth = new EcustAuth('public_key.pem');
$result = $auth->verifyUser('2101XXXX', 'password');
if ($result['valid']) {
echo "认证成功,确认为校内用户\n";
echo "用户ID: " . $result['data']['userid'] . "\n";
} else {
echo "认证失败: " . $result['message'] . "\n";
}
URL: verify.php
方法: POST
参数:
account - 学号/工号password - 密码响应示例:
成功:
{
"valid": true,
"message": "认证成功,确认为校内用户",
"data": {
"userid": "d22f7ec5-231f-35f5-a495-9194b66193e4",
"tokenid": "f46d296a-0c66-35e4-b23c-77e2d304a7a8",
"expires": 3600,
"needmodifypassword": false
}
}
失败:
{
"valid": false,
"message": "认证失败:用户名或密码错误",
"data": null
}
public_key.pem 文件不被公开访问A: 可能原因:
A: 支持华东理工大学的学号和工号。
getConfig() - 获取服务器配置login($account, $password) - 用户登录verifyUser($account, $password) - 验证用户身份如需集成到其他系统,可直接使用 EcustAuth 类:
$auth = new EcustAuth('/path/to/public_key.pem');
$result = $auth->verifyUser($account, $password);
// 处理结果
if ($result['valid']) {
// 用户是校内用户
$userid = $result['data']['userid'];
$tokenid = $result['data']['tokenid'];
// ...
}
运行测试脚本检查环境配置:
php test.php
本项目仅供华东理工大学内部使用。
如有问题,请联系系统管理员。