1
1
mirror of https://github.com/ZeroCatDev/ClassworksKV.git synced 2026-02-04 16:03:11 +00:00

fix: standardize autoAuth field names to autoauth in apps and auto-auth routes

This commit is contained in:
Sunwuyuan 2026-02-01 19:09:59 +08:00
parent c063dcf5b6
commit dc5de6e63a
No known key found for this signature in database
GPG Key ID: A6A54CF66F56BB64
2 changed files with 6 additions and 6 deletions

View File

@ -179,7 +179,7 @@ router.post(
const device = await prisma.device.findUnique({ const device = await prisma.device.findUnique({
where: {namespace}, where: {namespace},
include: { include: {
autoAuths: true, autoauths: true,
}, },
}); });
@ -193,11 +193,11 @@ router.post(
// 如果提供了密码,查找匹配密码的自动授权 // 如果提供了密码,查找匹配密码的自动授权
if (password) { if (password) {
// 首先尝试直接匹配明文密码 // 首先尝试直接匹配明文密码
matchedAutoAuth = device.autoAuths.find(auth => auth.password === password); matchedAutoAuth = device.autoauths.find(auth => auth.password === password);
// 如果没有匹配到,尝试验证哈希密码(向后兼容) // 如果没有匹配到,尝试验证哈希密码(向后兼容)
if (!matchedAutoAuth) { if (!matchedAutoAuth) {
for (const autoAuth of device.autoAuths) { for (const autoAuth of device.autoauths) {
if (autoAuth.password && autoAuth.password.startsWith('$2')) { // bcrypt 哈希以 $2 开头 if (autoAuth.password && autoAuth.password.startsWith('$2')) { // bcrypt 哈希以 $2 开头
try { try {
if (await verifyDevicePassword(password, autoAuth.password)) { if (await verifyDevicePassword(password, autoAuth.password)) {
@ -225,7 +225,7 @@ router.post(
} }
} else { } else {
// 如果没有提供密码,查找密码为空的自动授权 // 如果没有提供密码,查找密码为空的自动授权
matchedAutoAuth = device.autoAuths.find(auth => !auth.password); matchedAutoAuth = device.autoauths.find(auth => !auth.password);
if (!matchedAutoAuth) { if (!matchedAutoAuth) {
return next(errors.createError(401, "需要提供密码")); return next(errors.createError(401, "需要提供密码"));

View File

@ -30,13 +30,13 @@ router.get(
return next(errors.createError(403, "该设备未绑定到您的账户")); return next(errors.createError(403, "该设备未绑定到您的账户"));
} }
const autoAuths = await prisma.autoAuth.findMany({ const autoauths = await prisma.autoAuth.findMany({
where: {deviceid: device.id}, where: {deviceid: device.id},
orderBy: {createdat: 'desc'}, orderBy: {createdat: 'desc'},
}); });
// 返回配置,智能处理密码显示 // 返回配置,智能处理密码显示
const configs = autoAuths.map(auth => { const configs = autoauths.map(auth => {
// 检查是否是 bcrypt 哈希密码 // 检查是否是 bcrypt 哈希密码
const isHashedPassword = auth.password && auth.password.startsWith('$2'); const isHashedPassword = auth.password && auth.password.startsWith('$2');