Lock down coming-soon mode to block all users including authenticated
Remove auth bypass from coming-soon middleware so no one can access the in-development site in production. Remove unused login button from coming-soon page since wiki has its own OIDC login flow.
This commit is contained in:
parent
44805dbecf
commit
ea6c4d8329
2 changed files with 1 additions and 29 deletions
|
|
@ -13,25 +13,6 @@ export default defineNuxtRouteMiddleware(async (to, from) => {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Allow authenticated users to bypass coming-soon
|
// Redirect all other routes to coming-soon — no exceptions
|
||||||
const authToken = useCookie("auth-token");
|
|
||||||
if (authToken.value) {
|
|
||||||
// On the server, verify the JWT is actually valid
|
|
||||||
if (import.meta.server) {
|
|
||||||
try {
|
|
||||||
const { jwtSecret } = useRuntimeConfig();
|
|
||||||
const jwt = await import("jsonwebtoken").then((m) => m.default);
|
|
||||||
jwt.verify(authToken.value, jwtSecret);
|
|
||||||
return;
|
|
||||||
} catch {
|
|
||||||
// Invalid/expired token — fall through to coming-soon redirect
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
// Client-side: trust the cookie (SSR already validated on initial load)
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Redirect all other routes to coming-soon
|
|
||||||
return navigateTo("/coming-soon");
|
return navigateTo("/coming-soon");
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -4,13 +4,6 @@
|
||||||
<h1 class="text-display-xl font-bold mb-4">Ghost Guild</h1>
|
<h1 class="text-display-xl font-bold mb-4">Ghost Guild</h1>
|
||||||
<p class="text-display-sm text-guild-400">Coming Soon</p>
|
<p class="text-display-sm text-guild-400">Coming Soon</p>
|
||||||
</a>
|
</a>
|
||||||
<button
|
|
||||||
class="mt-12 text-sm text-guild-500 hover:text-guild-300 transition-colors"
|
|
||||||
@click="openLoginModal"
|
|
||||||
>
|
|
||||||
Member login
|
|
||||||
</button>
|
|
||||||
<LoginModal />
|
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
|
@ -18,6 +11,4 @@
|
||||||
definePageMeta({
|
definePageMeta({
|
||||||
layout: "coming-soon",
|
layout: "coming-soon",
|
||||||
});
|
});
|
||||||
|
|
||||||
const { openLoginModal } = useLoginModal();
|
|
||||||
</script>
|
</script>
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue