diff --git a/middleware/auth.global.js b/middleware/auth.global.js index ee8721e..c194612 100644 --- a/middleware/auth.global.js +++ b/middleware/auth.global.js @@ -1,21 +1,20 @@ export default defineNuxtRouteMiddleware(async (to, _from) => { - // Only run on client-side - if (process.server) return - - const authStore = useAuthStore() - // Check if route requires authentication - const requiresAuth = to.meta.middleware === 'auth' + const mw = to.meta.middleware + const requiresAuth = + mw === 'auth' || (Array.isArray(mw) && mw.includes('auth')) if (requiresAuth) { - // Check auth status if not already checked - if (!authStore.isLoggedIn) { - await authStore.checkAuth() - } - - // Redirect to login if not authenticated - if (!authStore.isLoggedIn) { - return navigateTo('/login') + // Nicht auf Pinia angewiesen sein (sonst "no active Pinia" in manchen Nuxt-Lifecycle-Phasen) + try { + const { data: auth } = await useFetch('/api/auth/status') + if (!auth.value || !auth.value.isLoggedIn) { + const redirect = encodeURIComponent(to.fullPath || to.path || '/') + return navigateTo(`/login?redirect=${redirect}`) + } + } catch (_e) { + const redirect = encodeURIComponent(to.fullPath || to.path || '/') + return navigateTo(`/login?redirect=${redirect}`) } } }) diff --git a/pages/mitgliederbereich/api.vue b/pages/mitgliederbereich/api.vue index 14e5bd8..dabddf2 100644 --- a/pages/mitgliederbereich/api.vue +++ b/pages/mitgliederbereich/api.vue @@ -540,7 +540,7 @@ curl -X POST http://localhost:3100/api/auth/login \ # Mitglied hinzufügen mit Token curl -X POST http://localhost:3100/api/members \ - -H "Authorization: Bearer " \ + -H "Authorization: Bearer <your-jwt-token>" \ -H "Content-Type: application/json" \ -d '{ "firstName": "Max", @@ -552,7 +552,7 @@ curl -X POST http://localhost:3100/api/members \ # Bulk-Import von Mitgliedern curl -X POST http://localhost:3100/api/members/bulk \ - -H "Authorization: Bearer " \ + -H "Authorization: Bearer <your-jwt-token>" \ -H "Content-Type: application/json" \ -d '{ "members": [ diff --git a/server/data/sessions.json b/server/data/sessions.json index aa6f3ad..0c45c23 100644 --- a/server/data/sessions.json +++ b/server/data/sessions.json @@ -1 +1 @@ -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 \ No newline at end of file +v2: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 \ No newline at end of file diff --git a/server/data/users.json b/server/data/users.json index 37fbf0f..c76f0b5 100644 --- a/server/data/users.json +++ b/server/data/users.json @@ -1 +1 @@ -CyRDzIKS5Ou7WW0Ri1r4G7yGBFv1MwyJUsdJYNUI2gx7KJ5Mr4d8JBe4YQ+vQlpFw/ZEhrBLXjsKwbEIMlmO/xZWln9TsE/1s9rwCd9WoCWrXOlSqQc6kWP6xJuoy0tXRBCGfEPqoIg/x/G/QsN0kIdnWPETOqOd9p9nc/OsmbhXHTGIUa2KKDNsk5JMJVRI1IUt8CzdpXQUQpbSBA8AgBV7sUiePWXlbqxfoWC7leV8oRWcgTz1Y0hKVB/yczjPUQP7hEI7GZ9O/2fysrTRPa5JtmwQ4CbfXe1wWANmxrIsUf1n/+yogcVfkG+Ld6YjhCnh1hmDQFEh7RkSB8J9uknvlrk/uXsnwRP55jBeum0ujsOaxisagJ1oniCVg27r2+fx0qiAIQDv5pVDp+EWkDMo4Wkw4qis6HwA46hy4ex22O4As550xhnomHq/Rtk6mO20Srlt+7dbUcopvVZn/ekXzL8ovzYFHA978B63m2Vt6m7wYdGduSjUChzXXcRUJwF2JKnOiSym2/zQ9EJi8UFBMgSaXAku9PakLUWI13VInKItLCX/Ib9ADWMLiViDmzW3dYHKxENdBeo8tD4vGExEY7+5x+Ari6zIGhcoYt8MRyGMGdrqSYTLCnlRnzgeHqN2JTyiYns8fCNUuV7aa31x5GgzD/Bpc1JJG+o6DYAva1GBLaaCTLTpuuDNC6V32cJECjzQaQKm8hhIg9OWjpApxhvx/0aiVs2Yne63Ot8183YAdfpX6QCD2F89hqQi6LjBxzC8vYi+2MWTdw4ZdkIRhrROe0/gxOWvecmrpyM= \ No newline at end of file +v2:hKWeGFjGrwePQTJW4sCZBBrfS3+jNZV04Zr+XZ2rp4sluDgytyeN1nDRRma355I6cu0a1l5zTHDsWp0NfXXrxsVGT6co/TJyv9p26YyC39wTxTyKF5CZyC+IgznJOAMDQH5ZY3i68jtRyXIrFUmNpIZA9J2FTOMSiffBeAM3/h9Q0FcOmQafJ3OfNNx7YWT92J/xk4lSTY2vt0qJcWsma4sB6pzRF+QY7nZsMaiGoyUWSzi9Thg1k+nEJzWr9w9VXTpAz3455VLJ4HZdTgck5JpgXp8s9+fyHqwIvUoRKEMxr3//KZwsK1gt9TSxgtAL/2N+twvpIe80wJuDZomEY2LCloee9ND1yQ0GKBWnkX8+uxp0mXtQ8gR2p84UEyzllKUYGyqkAYsgAOr5sjEVkmFG2Sb7F0kkNrcDLfOHj7Qx0OQ8VPOW8Q3QwbuhDAvd6DSQX5oKUEyb98OP8cS3IGLfsfQzdA60Vvs40X4wSoiHLOHBDlpX/+MBhk2V3vHI6VyyKLnoCdBuEs1Jx62MadupUgY0LbQHNKsyTDL8tpEYHJVZvCLLTFE2cppptWtnpXIMhoY6yAS/yWg9amIAdTiOKT+2jlo0pi6zbFeyE02BjaPBOPZER4uij29pOZVDD432vmpgVsh9McHzrRiRG9xc64o0dh0zMwtckEB+tp9Cq6Dq7xXzjKlchX0PkaW3BrG702B4MmERlgN/VO51QBKY3r5bSJblMjijjPrpCuvrLDFMbXtHpYDojTisYv8wbnlCkEHEO26mn1OjFx3uYnGNtoLkSp67+gEToXR+u7att2/KkIvEng== \ No newline at end of file