mirror of
https://github.com/ZSCGR/CloudFlare-ImgBed.git
synced 2026-08-20 15:43:42 +08:00
- Add passwordHash.js: SHA-256 + salt hashing with plaintext backward compatibility - Add sessionManager.js: HttpOnly cookie sessions with separate admin_session/user_session - Add sessionCheck.js: session validation endpoint for frontend route guards - Add logout.js: session destruction endpoint with authType support - Update login.js: return user_session cookie on successful login - Update check.js: return admin_session cookie on successful admin auth - Update _middleware.js: check admin_session before Basic Auth, remove WWW-Authenticate header - Update security.js: hash passwords on save, mask in GET, clear sessions on password change - Update dualAuth.js/userAuth.js: use verifyPassword and session validation
27 lines
774 B
JavaScript
27 lines
774 B
JavaScript
import { validateAnySession } from "../utils/sessionManager.js";
|
|
|
|
/**
|
|
* 会话检查接口
|
|
* 用于前端路由守卫检查当前会话是否有效
|
|
* 同时检查 admin_session 和 user_session
|
|
*/
|
|
export async function onRequestGet(context) {
|
|
const { request, env } = context;
|
|
|
|
const sessionResult = await validateAnySession(env, request);
|
|
if (sessionResult.valid) {
|
|
return new Response(JSON.stringify({
|
|
valid: true,
|
|
authType: sessionResult.session.authType,
|
|
}), {
|
|
status: 200,
|
|
headers: { 'Content-Type': 'application/json' },
|
|
});
|
|
}
|
|
|
|
return new Response(JSON.stringify({ valid: false }), {
|
|
status: 401,
|
|
headers: { 'Content-Type': 'application/json' },
|
|
});
|
|
}
|