分享
3.1 设备管理
输入“/”快速插入内容
3.1 设备管理
2024年9月17日修改
IP Manager 具有设备管理的功能,可以实现绑定设备,使设备登录校园网,保活等。
具体流程如下:
1.
首先用户需要将某个设备绑定到系统中,以管理此设备;
◦
为了证明该用户具有此设备的控制权,需要首先从系统生成一个临时 token,然后在欲绑定的设备上将此 token 发送给系统,系统将会把此设备的 IP 绑定到用户;
◦
该系统的鉴权功能为可选项,若实现鉴权,建议使用飞书 Oauth。
2.
用户可以控制他的设备登录/登出校园网。
只需实现 IPv4 的设备管理。
功能列表
以下功能优先级从高到低,难度大致从低到高,可量力而行。
1.
绑定和解绑设备
◦
生成一个 token,用户在欲绑定的设备上携带该 token 访问此后端,后端将该设备(通过 IP 识别)绑定到系统中
2.
使设备登录校园网;
◦
调用提供的
API
登录已绑定的特定设备
◦
注,可以申请环境用于测试代登录,参见
后端考核项目 第三题环境文档
3.
查看当前已绑定设备的列表;
◦
提供一个 API,以 JSON 格式返回当前用户已绑定的设备的列表
◦
保存当前设备的登录状态并在列表中返回(假设最开始绑定时均为已登录)
◦
允许用户登出特定设备(仅修改内部状态即可)
4.
支持飞书
OAuth
登录;
5.
使用数据库持久化数据(建议使用 sqlite);
6.
提供一种可行的技术方案,在设备登入校园网后,保证该设备不会由于一段时间无网络流量而退出登录(提示:你的后端将会运行在 BYRTEAM 内网的网关上,所有网络流量都会经过该后端所在的服务器)。
7.
实现上条中设计的技术方案(参见
后端考核项目 第三题环境文档
)。
参考接口文档
此接口仅供参考,若有新加入的功能,可以按照需求修改。
1.
POST /bind
发起绑定请求
用户在前端点击绑定新设备,前端调用此接口,显示 token。
示例请求体
空
注意:如果你没有实现鉴权,相当于整个系统只有一个用户,那么不需要传递鉴权信息;如果你实现了鉴权,那么鉴权信息的传输方式由你自行设计。
示例响应体
代码块
JSON
{
"status": "success",
"token": "abc123xyz"
}
2.
POST /verify
验证绑定
用户在欲绑定的设备上携带之前生成的 token 访问设备管理后端,后端通过 IP 识别并验证该设备的绑定请求。
示例请求体
代码块
JSON
{
"token": "abc123xyz"
}
示例响应体
•
成功
代码块
JSON
{
"status": "success",
"message": "Device bound successfully"
}
•
失败
代码块
JSON
{
"status": "error",
"message": "Invalid or expired token"
}