This commit is contained in:
maojindao55
2025-03-27 19:24:55 +08:00
parent 04d6a2f9af
commit 413b120c40
8 changed files with 302 additions and 57 deletions

View File

@@ -47,32 +47,27 @@ async function verifyToken(token, env) {
// 中间件函数
export async function onRequest(context) {
try {
//获取环境变量中的AUTH_ACCESS
const authAccess = context.env.AUTH_ACCESS;
console.log('authAccess', authAccess);
//如果AUTH_ACCESS为0则跳过权限校验
if (!authAccess || authAccess === '0') {
if (!authAccess || authAccess === '0' || context.request.url.includes('/login') || context.request.url.includes('/sendcode') || context.request.url.includes('/test-db')) {
console.log('跳过权限校验');
return await context.next();
context.data = { user: null };
return context.next();
}
const request = context.request;
const env = context.env;
//跳过登录页面
if (request.url.includes('/login') || request.url.includes('/sendcode') || request.url.includes('/login') || request.url.includes('/test-db')) {
return await context.next();
}
const authHeader = request.headers.get('Authorization');
const authHeader = context.request.headers.get('Authorization');
if (!authHeader || !authHeader.startsWith('Bearer ')) {
throw new Error('No token provided');
}
const token = authHeader.split(' ')[1];
const payload = await verifyToken(token, env);
const payload = await verifyToken(token, context.env);
// 将用户信息添加到上下文中
context.user = payload;
return await context.next();
// 直接在原有的 request 对象上添加 context
context.data = { user: payload };
console.log('context.request.user', context.data);
return context.next();
} catch (error) {
console.error(error.message, context.request.url);
return new Response(JSON.stringify({ error: error.message }), {