From d947661e5ba02f79b08b40606377a03786eef0f0 Mon Sep 17 00:00:00 2001 From: Y80 Date: Tue, 12 Nov 2024 09:54:28 +0800 Subject: [PATCH 1/5] =?UTF-8?q?fix:=20=E7=A4=BA=E4=BE=8B=20AUTH=5FSECRET?= =?UTF-8?q?=20=E4=BD=BF=E7=94=A8=20UUID?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.env b/.env index 4761d5a7..108d286d 100644 --- a/.env +++ b/.env @@ -36,8 +36,8 @@ AUTH_URL AUTH_GITHUB_ID = 62519d5cf7e8098627cf AUTH_GITHUB_SECRET = cd46f95c2186109c65c6b0bb874a8da6a02868a3 -# 加密令牌用到的密钥。建议使用 UUID。 -AUTH_SECRET = "请把我替换为一个UUID" +# ! 用于加密令牌用到的密钥。请及时替换 UUID。 +AUTH_SECRET = "a8218e2e-2c9d-4bdf-b85e-aa4851aa19fd" # ================================================================================ From b13cfe2969bcf90a4313f840a61a243e8e11b2f3 Mon Sep 17 00:00:00 2001 From: Y80 Date: Tue, 12 Nov 2024 10:04:58 +0800 Subject: [PATCH 2/5] =?UTF-8?q?fix:=20next-auth=20=E4=B8=AD=E6=98=8E?= =?UTF-8?q?=E7=A1=AE=E6=8C=87=E5=AE=9A=20secret?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/lib/auth/config.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/src/lib/auth/config.ts b/src/lib/auth/config.ts index f448fac7..fb31e851 100644 --- a/src/lib/auth/config.ts +++ b/src/lib/auth/config.ts @@ -24,6 +24,7 @@ export const authConfig = { session: { strategy: 'jwt' }, pages: { signIn: PageRoutes.LOGIN }, theme: { logo: Assets.LOGO_SVG }, + secret: process.env.AUTH_SECRET, // debug: true, callbacks: { // authorized(params) { From 3e9df76e96d9a4121b85a126767da103d2665c47 Mon Sep 17 00:00:00 2001 From: Y80 Date: Tue, 12 Nov 2024 10:26:53 +0800 Subject: [PATCH 3/5] log process.env --- src/lib/auth/config.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/lib/auth/config.ts b/src/lib/auth/config.ts index fb31e851..4b140bec 100644 --- a/src/lib/auth/config.ts +++ b/src/lib/auth/config.ts @@ -17,6 +17,8 @@ if (!process.env.VERCEL) { githubProvider.token = process.env.FETCH_GITHUB_TOKEN_PROXY || githubProvider.token } +console.log(process.env) + // 这里没有配置 adapter,是为了兼容边缘环境 // https://authjs.dev/guides/edge-compatibility export const authConfig = { From 7c7ffdd9797074e46c978fc11794baaee853c6f5 Mon Sep 17 00:00:00 2001 From: Y80 Date: Tue, 12 Nov 2024 10:40:20 +0800 Subject: [PATCH 4/5] =?UTF-8?q?fix:=20Vercel=20=E4=B8=8A=E6=97=A0=E6=B3=95?= =?UTF-8?q?=E4=BD=BF=E7=94=A8=20AUTH=5FSECRET?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env | 2 +- next.config.js | 9 ++++++++- src/lib/auth/config.ts | 3 --- src/middleware.ts | 20 +++++++++++++++----- 4 files changed, 24 insertions(+), 10 deletions(-) diff --git a/.env b/.env index 108d286d..66f7c181 100644 --- a/.env +++ b/.env @@ -37,7 +37,7 @@ AUTH_GITHUB_ID = 62519d5cf7e8098627cf AUTH_GITHUB_SECRET = cd46f95c2186109c65c6b0bb874a8da6a02868a3 # ! 用于加密令牌用到的密钥。请及时替换 UUID。 -AUTH_SECRET = "a8218e2e-2c9d-4bdf-b85e-aa4851aa19fd" +AUTH_SECRET = "UUID" # ================================================================================ diff --git a/next.config.js b/next.config.js index e36036d4..9936dc2e 100644 --- a/next.config.js +++ b/next.config.js @@ -18,8 +18,15 @@ export default async function setup() { dangerouslyAllowSVG: true, }, - webpack: (config) => { + webpack: (config, { webpack, nextRuntime }) => { config.plugins.push(codeInspectorPlugin({ bundler: 'webpack', hideDomPathAttr: false })) + // https://github.com/vercel/next.js/discussions/39705 + // fix: edge 环境无法加载环境变量 + if (nextRuntime === 'edge') { + config.plugins.push(new webpack.DefinePlugin({ + "process.env.AUTH_SECRET": JSON.stringify(process.env.AUTH_SECRET), + })) + } return config }, } diff --git a/src/lib/auth/config.ts b/src/lib/auth/config.ts index 4b140bec..f448fac7 100644 --- a/src/lib/auth/config.ts +++ b/src/lib/auth/config.ts @@ -17,8 +17,6 @@ if (!process.env.VERCEL) { githubProvider.token = process.env.FETCH_GITHUB_TOKEN_PROXY || githubProvider.token } -console.log(process.env) - // 这里没有配置 adapter,是为了兼容边缘环境 // https://authjs.dev/guides/edge-compatibility export const authConfig = { @@ -26,7 +24,6 @@ export const authConfig = { session: { strategy: 'jwt' }, pages: { signIn: PageRoutes.LOGIN }, theme: { logo: Assets.LOGO_SVG }, - secret: process.env.AUTH_SECRET, // debug: true, callbacks: { // authorized(params) { diff --git a/src/middleware.ts b/src/middleware.ts index 51dbab6a..e48dae04 100644 --- a/src/middleware.ts +++ b/src/middleware.ts @@ -15,12 +15,15 @@ export default auth((req) => { } // 默认为 true,仅对于少数请求免除验证 let checkAdmin = true - const prefixes = ['/_next', '/api/auth', '/tag'] - const affixes = ['.svg', '.png'] + const whitelist = { + prefixes: ['/_next', '__next', '/api/auth', '/tag'], + affixes: ['.svg', '.png'], + pathnames: ['/', '/recent', '/search', '/login', '/forbidden', '/404', '/500', '/_error'], + } if ( - affixes.some((p) => pathname.endsWith(p)) || - prefixes.some((p) => pathname.startsWith(p)) || - ['/', '/recent', '/search', '/login', '/forbidden'].includes(pathname) + whitelist.affixes.some((p) => pathname.endsWith(p)) || + whitelist.prefixes.some((p) => pathname.startsWith(p)) || + whitelist.pathnames.includes(pathname) ) { checkAdmin = false } @@ -35,3 +38,10 @@ export default auth((req) => { } return NextResponse.next() }) + +console.log( + 'envs:', + process.env.AUTH_SECRET, + process.env.MY_SECRET, + process.env.FETCH_GITHUB_TOKEN_PROXY +) From 46142cac8fc261cf958e7b6850529dc71ea46fad Mon Sep 17 00:00:00 2001 From: biff990 <133827801+biff990@users.noreply.github.com> Date: Sat, 16 Nov 2024 11:47:39 +0800 Subject: [PATCH 5/5] Update .env --- .env | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.env b/.env index 66f7c181..3f295570 100644 --- a/.env +++ b/.env @@ -33,11 +33,11 @@ AUTH_URL # Github OAuth APP 配置 # 下面这对配置可以用于 http://localhost:PORT,其它地址用不了!请务必及时替换为你自己的! -AUTH_GITHUB_ID = 62519d5cf7e8098627cf -AUTH_GITHUB_SECRET = cd46f95c2186109c65c6b0bb874a8da6a02868a3 +AUTH_GITHUB_ID = Ov23lit5CvhIVzhNgubm +AUTH_GITHUB_SECRET = f8ab00b9a09bba69c65752ba32d8987b1b9b8d4d # ! 用于加密令牌用到的密钥。请及时替换 UUID。 -AUTH_SECRET = "UUID" +AUTH_SECRET = "f8ab00b9a09bba69c65752ba32d8987b1b9b8d4d" # ================================================================================