【发布时间】:2020-04-05 09:05:37
【问题描述】:
我们正在努力将 Auth0 添加到我们的 Next.js 网站并引用 this 示例。
我想知道的是示例中next.config.js 中的设置。它将 Auth0 和其他 secrets 放入客户端(通过 Webpack)。这不是让这些秘密处于危险之中吗?由于它们位于客户端代码中的某个位置,因此有可能会请求访问这些机密。
示例in this Auth0 article 也将秘密放入客户端。
我不太幸运地发现了 Webpack 如何处理变量,我希望社区能对此有所了解。我们正在努力确保我们的模式在放置之前是安全的。
例如,秘密被添加到客户端next.config.js:
const dotenv = require('dotenv')
dotenv.config()
module.exports = {
env: {
AUTH0_DOMAIN: process.env.AUTH0_DOMAIN,
AUTH0_CLIENT_ID: process.env.AUTH0_CLIENT_ID,
AUTH0_CLIENT_SECRET: process.env.AUTH0_CLIENT_SECRET,
AUTH0_SCOPE: 'openid profile',
REDIRECT_URI:
process.env.REDIRECT_URI || 'http://localhost:3000/api/callback',
POST_LOGOUT_REDIRECT_URI:
process.env.POST_LOGOUT_REDIRECT_URI || 'http://localhost:3000/',
SESSION_COOKIE_SECRET: process.env.SESSION_COOKIE_SECRET,
SESSION_COOKIE_LIFETIME: 7200, // 2 hours
},
}
【问题讨论】: