fix: allow unauthenticated users to view certificates
- Updated API error interceptor to skip redirect on certificate pages - Prevents 401 errors from redirecting to login on public certificate pages - Certificate pages can now be viewed without authentication 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude
parent
1dbe704230
commit
da8b08cd73
@@ -31,12 +31,13 @@ hackathonApi.interceptors.response.use(
|
|||||||
(response) => response,
|
(response) => response,
|
||||||
(error) => {
|
(error) => {
|
||||||
// Handle 401 - clear session and redirect to login
|
// Handle 401 - clear session and redirect to login
|
||||||
// But skip redirect if already on auth pages (to avoid reload on login failure)
|
// But skip redirect if already on auth pages or certificate pages (to avoid reload on login failure)
|
||||||
if (error.response?.status === 401) {
|
if (error.response?.status === 401) {
|
||||||
const isAuthPage = globalThis.window !== undefined && globalThis.location.pathname.startsWith('/auth');
|
const isAuthPage = globalThis.window !== undefined && globalThis.location.pathname.startsWith('/auth');
|
||||||
|
const isCertificatePage = globalThis.window !== undefined && globalThis.location.pathname.startsWith('/certificate/');
|
||||||
|
|
||||||
// Only clear session and redirect if not on auth page
|
// Only clear session and redirect if not on auth page or certificate page
|
||||||
if (!isAuthPage) {
|
if (!isAuthPage && !isCertificatePage) {
|
||||||
useAuthStore.getState().clearSession();
|
useAuthStore.getState().clearSession();
|
||||||
if (globalThis.window !== undefined) {
|
if (globalThis.window !== undefined) {
|
||||||
globalThis.location.href = '/auth/login';
|
globalThis.location.href = '/auth/login';
|
||||||
|
|||||||
Reference in New Issue
Block a user