Javascript 如何从SvelteKit应用程序发送安全API请求,而不在客户端显示API密钥?
我正在使用Supabase开发一个新的Sveltekit应用程序 目前,我正在客户端上传递Supabase密钥,如下所示:Javascript 如何从SvelteKit应用程序发送安全API请求,而不在客户端显示API密钥?,javascript,api,svelte,sveltekit,supabase,Javascript,Api,Svelte,Sveltekit,Supabase,我正在使用Supabase开发一个新的Sveltekit应用程序 目前,我正在客户端上传递Supabase密钥,如下所示: const supabase = createClient( import.meta.env.VITE_SUPABASE_URL, import.meta.env.VITE_SUPABASE_ANON_KEY ) 我创建安全后端/API的最简单方法是什么,这样应用程序就可以从Supabase获取内容,而无需在客户端显示Supabase密钥 Sveltekit中是否
const supabase = createClient(
import.meta.env.VITE_SUPABASE_URL,
import.meta.env.VITE_SUPABASE_ANON_KEY
)
我创建安全后端/API的最简单方法是什么,这样应用程序就可以从Supabase获取内容,而无需在客户端显示Supabase密钥
Sveltekit中是否有任何内置功能使我能够做到这一点?或者我需要集成Rails这样的后端吗?SvelteKit在两个主要位置支持服务器端代码:
locals
属性是与所有服务器端部件共享敏感数据(如API密钥)的好地方
一般建议使用本地端点代理外部API调用:
- 在
中(允许在发送/呈现页面之前从服务器端调用API) - 主
- SvelteKit端点是无服务器lambda函数的推广。(请参阅第页或第页)
- 端点/挂钩中使用的任何NPM模块都必须是devdependency
- 建议使用
fetch()
提供了一个特殊版本的load()
,它缓存来自服务器端的调用,以便客户端可以重用结果fetch()
- 第2步主要是支持Netlify等无服务器环境