希望获得有关 Vercel 部署的一些帮助。我创建了一个 _middleware.ts 文件,用于检查用户 cookie 中的 JWT。
import { NextResponse } from 'next/server'
import type { NextRequest } from 'next/server'
import { JwtPayload, verify } from 'jsonwebtoken'
export async function middleware(req: NextRequest) {
let response = NextResponse.next()
const url = req.nextUrl.clone()
const token = req.cookies['allow-list']
if (!token || token === 'deleted') {
return response
}
try {
const decodedToken = verify(
token,
process.env.TOKEN_SECRET as string
) as JwtPayload
} catch (e) {}
return response
}
Run Code Online (Sandbox Code Playgroud)
但是,正因为如此,当我尝试构建项目时,出现以下错误:“中间件页面/_middleware 中不允许动态代码评估(例如“eval”、“新函数”)”。有没有解决的办法?当我在本地运行它时它有效。
[22:59:29.409] Cloning …Run Code Online (Sandbox Code Playgroud) 我来自 Firebase 函数...我可以在哪里使用管理库从函数访问数据库,绕过所有安全规则?在supabase 上我还没有找到一种方法来做到这一点,文档非常稀缺。现在,我使用此代码作为请求该函数的用户从函数访问数据库:
const supabaseClient = createClient(
Deno.env.get("SUPABASE_URL") ?? "",
Deno.env.get("SUPABASE_ANON_KEY") ?? "",
{ global: { headers: { Authorization: req.headers.get("Authorization")! } } }
);
Run Code Online (Sandbox Code Playgroud)
但是对于我的一个功能,我必须绕过所有策略进行访问,因为该功能是“admin”,当我删除此代码中的第三个参数行时(这是我发现的唯一模糊的解释如何做到这一点)我得到错误:
AuthApiError:无效声明:缺少子声明...
我也尝试更改SUPABASE_ANON_KEY为SUPABASE_SERVICE_ROLE_KEY,同样的错误。
javascript firebase supabase supabase-database edge-function
我在 Cloudflare Workers 上有一个 Javascript 边缘函数。它唯一做的就是检查特定标头并返回包含相应值的 JSON
请参阅下面的代码
async function handleRequest(request) {
const url = new URL(request.url);
const psk_db = await KV_STORAGE.get(request.headers.get(PRESHARED_AUTH_HEADER_KEY));
if (psk_db === null) {
return new Response("Access denied", { status: 404 });
}
else{
//calculate number
//return JSON
const data = {
pswd: psk_db,
};
json = JSON.stringify(data, null, 2);
}
return new Response(json, {
headers: {
'content-type': 'application/json;charset=UTF-8',
'Access-Control-Allow-Origin': url.origin,
},
})
}
addEventListener('fetch', event => {
event.respondWith(handleRequest(event.request));
});
Run Code Online (Sandbox Code Playgroud)
现在,该函数在 cloudflare 测试环境中运行良好,但是当我尝试使用运行此 javascript 函数的按钮从 html 页面请求时 …