Skip to content

Commit 6654db7

Browse files
committed
fix: leverage runtime envs for proxy middleware
1 parent c89a6fe commit 6654db7

File tree

1 file changed

+10
-10
lines changed

1 file changed

+10
-10
lines changed
+10-10
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import { eventHandler, getHeader, createError } from 'h3'
22
import { $fetch } from 'ofetch'
3-
import { useRuntimeConfig } from '#imports'
43

54
export default eventHandler(async (event) => {
65
// Skip if not a hub request
@@ -11,38 +10,39 @@ export default eventHandler(async (event) => {
1110
if (import.meta.dev) {
1211
return
1312
}
14-
const hub = useRuntimeConfig().hub
15-
const secretKey = (getHeader(event, 'authorization') || '').split(' ')[1]
16-
if (!secretKey) {
13+
const secretKeyOrUserToken = (getHeader(event, 'authorization') || '').split(' ')[1]
14+
if (!secretKeyOrUserToken) {
1715
throw createError({
1816
statusCode: 403,
1917
message: 'Missing Authorization header'
2018
})
2119
}
2220

2321
// Self-hosted NuxtHub project, user has to set a secret key to access the proxy
24-
if (hub.projectSecretKey && secretKey !== hub.projectSecretKey) {
22+
const projectSecretKey = process.env.NUXT_HUB_PROJECT_SECRET_KEY
23+
if (projectSecretKey && secretKeyOrUserToken !== projectSecretKey) {
2524
throw createError({
2625
statusCode: 401,
2726
message: 'Invalid secret key'
2827
})
2928
}
3029

3130
// Hosted on NuxtHub
32-
if (hub.projectKey) {
31+
const projectKey = process.env.NUXT_HUB_PROJECT_KEY
32+
if (projectKey) {
3333
// Here the secretKey is a user token
34-
await $fetch(`/api/projects/${hub.projectKey}`, {
35-
baseURL: hub.url,
34+
await $fetch(`/api/projects/${projectKey}`, {
35+
baseURL: process.env.NUXT_HUB_URL || 'https://hub.nuxt.com',
3636
method: 'HEAD',
3737
headers: {
38-
authorization: `Bearer ${secretKey}`
38+
authorization: `Bearer ${secretKeyOrUserToken}`
3939
}
4040
})
4141
return
4242
}
4343

4444
throw createError({
4545
statusCode: 401,
46-
message: 'Missing NUXT_HUB_PROJECT_SECRET_KEY'
46+
message: 'Missing NUXT_HUB_PROJECT_SECRET_KEY envrionment variable or NUXT_HUB_PROJECT_KEY envrionment variable'
4747
})
4848
})

0 commit comments

Comments
 (0)