P0 HOTFIX: Admin login redirect loop #322
Notifications
Total Time Spent: 1 minute
kincses
1 minute
No due date set.
Dependencies
No dependencies set.
Reference: kincses/service-finder#322
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Mérföldkő: Epic 10 - Admin UI
Cél: Javítani a bejelentkezési hibát
Root Cause
A index.vue onMounted hívása ('/api/v1/admin/users/stats') Authorization header nélkül. Backend OAuth2PasswordBearer csak Authorization: Bearer header-ből olvassa a JWT-t.
Láncreakció
Javítás
hívásba Authorization: Bearer header átadása
▶️ Munka megkezdve: 2026-06-29 14:09:29
✅ Munka befejezve: 2026-06-29 14:10:55
Technikai Összefoglaló:
P0 HOTFIX: Admin login redirect loop javítva. Root cause: index.vue onMounted ('/api/v1/admin/users/stats') hívás Authorization header nélkül történt, ami 401-et váltott ki a backendből. A plugins/api.ts 401 interceptor (globalThis.fetch override) elkapva logout + hard redirect /login. Javítás: hívásba useCookie('access_token')-ból kiolvasott Bearer token header hozzáadva.
⏱️ Az idő rögzítve.
✅ Admin Login Redirect Loop - Javítás Kész
🔍 Root Cause
A 318-as kártya (
Dashboard statisztika kártyák dinamikus adatokkal) implementációja során azindex.vueonMountedhook-ja$fetch('/api/v1/admin/users/stats')hívást végzett Authorization header nélkül.Láncreakció:
access_tokencookie beállítva →fetchUser()sikeres (Bearer header-t használ)onMounted→$fetch('/api/v1/admin/users/stats')⚠️ AUTHORIZATION HEADER NÉLKÜLOAuth2PasswordBearer401-et ad (nem talál Bearer tokent a header-ben)plugins/api.ts401 interceptor (globalThis.fetchoverride) elkapja a 401-etauthStore.logout()→ törli azaccess_tokencookie-t ❌window.location.href = '/login'→ kemény redirect vissza a login oldalra🛠️ Javítás
Egyetlen sor változás az
index.vueonMountedblokkjában:useCookie('access_token')-ból kiolvassuk a tokentAuthorization: Bearer <token>header-ben a$fetchhívásnak✅ Eredmény