Nuxt 密钥和 reCaptcha

问题描述 投票:0回答:3

我正在使用

nuxt.js
使用预渲染 html 页面的通用模式,并从 Google reCaptcha 获得我的密钥。

nuxt.js
应用程序中的哪个位置是存储密钥的最佳位置?它们在
env
中的
nuxt.config.js
对象中起作用吗?

export default {
  env: {
    secret: process.env.SECRET
  }
}

当应用程序是用

nuxt generate
生成并且应用程序是客户端时,它是如何工作的? env 文件保留在服务器上,从未暴露给客户端,或者所有内容都经过编译和打包以发送给客户端吗?

vue.js nuxt.js
3个回答
2
投票

如果您有 Nuxt 2.13+,则可以在

privateRuntimeConfig
中使用
nuxt.config.js
。在那里你可以链接到你的 .env,密钥将被注入到服务器,并且在前端不可见。

privateRuntimeConfig
应该保存所有私有的环境变量 并且不应在前端公开。这可能包括一个 例如,参考您的 API 秘密令牌。

Nuxt 博客中的更多信息


0
投票

您不应将密钥存储在客户端上。 密钥的目的 - 验证用户的响应。您需要将其与适当的代码一起存储在后端以进行验证(https://developers.google.com/recaptcha/docs/verify


0
投票

在 nuxt 3 中,私有和机密必须位于 nuxt.config.ts 文件的 runtimeConfig 中。

请参阅https://nuxt.com/docs/getting-started/configuration#environment-variables-and-private-tokens

© www.soinside.com 2019 - 2024. All rights reserved.