| 296 | |
| 297 | // 用户登录 ############################################################################### |
| 298 | export async function userPost(c: Context) { |
| 299 | let pass_hmac_in: string = <string>c.req.query('token'); |
| 300 | let mail_data_in: string = <string>c.req.query('email'); |
| 301 | // if (!await Turnstile(c)) return c.json({"nonce": "请先完成验证"}, 403); |
| 302 | let user_data_db: Record<string, any>[] = await getUsers(c, mail_data_in); |
| 303 | if (Object.keys(user_data_db).length <= 0) return c.json({flags: 0}, 401); |
| 304 | let user_data_in = user_data_db[0] |
| 305 | const pass_hmac_db = await hmacSHA2(user_data_in['pass'], user_data_in['code']); |
| 306 | if (pass_hmac_db != pass_hmac_in) return c.json({flags: 0, nonce: "用户名密码错误"}, 401); |
| 307 | // 密码正确设置 Cookie ================================================================ |
| 308 | local.deleteCookie(c, 'users') |
| 309 | local.setCookie(c, 'mail', mail_data_in); |
| 310 | await local.setSignedCookie(c, 'auth', pass_hmac_in, user_data_in['pass']); |
| 311 | await saves.updateDB(c.env.DB_CF, "Users", |
| 312 | {code: "",}, |
| 313 | {mail: mail_data_in,} |
| 314 | ); |
| 315 | return c.json({flags: 1}); |
| 316 | } |
| 317 | |
| 318 | // 验证登录 ############################################################################### |
| 319 | export async function userAuth(c: Context) { |