Admin: Login-Link mit window.location.origin statt Server-Host

- Backend gibt nur Token zurück statt fertigen Link
- Frontend baut Link via window.location.origin zusammen
- Zeigt korrekte Domain/Port statt internes http://127.0.0.1

Backend:
- AdminEndpoint: POST /api/admin/users/{userId}/login-link gibt { token }
- AuthEndpoint: GET /api/auth/autologin?token=xxx setzt Cookie + redirect
- AuthMiddleware: autologin-Route von Auth ausgenommen

Frontend:
- api.js: apiAdminGetLoginLink() Funktion
- admin-page.js: Login-as-User Button → Login-Link Button mit Modal
- form.css: Styling für Login-Link Modal
This commit is contained in:
Meleki committed 2026-03-06 14:35:01 +01:00
1 parent eeecd3da62
commit 1b9cc29421
6 files changed
+184 -17

No files matched your search

+43
View File
@@ -610,6 +610,49 @@ label.skill-item {
cursor: pointer;
}
/* ── Login Link Modal ── */
.login-link-overlay {
position: fixed;
inset: 0;
background: rgb(from var(--f1-bg) r g b / var(--semi-transparent));
display: flex;
align-items: center;
justify-content: center;
z-index: 1000;
}
.login-link-modal {
background: var(--f2-bg);
border: var(--border-width) solid var(--f2-border);
border-radius: var(--border-radius);
width: 90vw;
max-width: var(--modal-width);
padding: var(--box-padding);
display: flex;
flex-direction: column;
gap: var(--box-spacing);
}
.login-link-modal h3 {
margin: 0;
}
.login-link-desc {
opacity: var(--semi-transparent);
margin: 0;
}
.login-link-input-row {
display: flex;
gap: var(--badge-spacing);
}
.login-link-input {
flex: 1;
min-width: 0;
}
/* ── EasyMDE in Formularen ── */
/* Nutzt fe-mde-wrap Styles aus file-explorer.css für Dark-Theme,
überschreibt aber die Fullscreen-Layout-Regeln für den Formular-Kontext. */