我正在使用nuxt.js
,并且将通用模式用于预渲染的html页面,并从Google reCaptcha获得了我的密钥。
在nuxt.js
应用程序中,哪里是存储密钥的最佳位置?它们在env
的{{1}}对象中起作用吗?
nuxt.config.js
当使用export default {
env: {
secret: process.env.SECRET
}
}
生成应用程序并且应用程序是客户端时,这又如何工作? env文件保留在服务器上,从不公开给客户端,还是所有内容都经过编译和打包以发送给客户端?
答案 0 :(得分:2)
如果您使用的是Nuxt 2.13+,则可以在privateRuntimeConfig
中使用nuxt.config.js
。在那里,您可以链接到.env,密钥将注入到服务器,并且在前端不可见。
privateRuntimeConfig
应该包含所有私有的环境变量 并且不应在前端公开。这可能包括 例如,引用您的API秘密令牌。
答案 1 :(得分:0)
您不应将密钥存储在客户端上。 密钥的目的-验证用户的响应。您需要使用适当的代码将其存储在后端以进行验证(https://developers.google.com/recaptcha/docs/verify)