ui: убрать вход по Bearer токену, добавить ручной ввод clientId (отладка)
This commit is contained in:
+28
-6
@@ -64,13 +64,35 @@ function createRouter({ auth, MOCK_USERS, authLimiter }) {
|
||||
res.redirect(returnTo || '/');
|
||||
});
|
||||
|
||||
// POST /login-token — вставить реальный Bearer токен
|
||||
router.post('/login-token', authLimiter, (req, res) => {
|
||||
const { token, returnTo } = req.body;
|
||||
if (!token || !token.trim()) return res.redirect('/login?error=Токен+не+может+быть+пустым');
|
||||
// GET /login-token — редирект на /login (форма вставки токена там же)
|
||||
router.get('/login-token', (req, res) => res.redirect('/login'));
|
||||
|
||||
req.session.token = token.trim();
|
||||
req.session.user = null; // заполнится при первом запросе к API
|
||||
// POST /login-token — ручной вход по clientId (отладка)
|
||||
router.post('/login-token', authLimiter, (req, res) => {
|
||||
const { clientId, returnTo } = req.body;
|
||||
if (!clientId || !clientId.trim()) return res.redirect('/login?error=Введите+clientId');
|
||||
|
||||
const trimmed = clientId.trim();
|
||||
const allClientIds = trimmed.split(',').map(s => s.trim()).filter(Boolean);
|
||||
const activeClientId = allClientIds[0];
|
||||
|
||||
const token = auth.issueMockToken({
|
||||
clientId: trimmed,
|
||||
companyId: '00000000-0000-0000-0000-000000000001',
|
||||
companyName: activeClientId,
|
||||
email: activeClientId + '@debug.local',
|
||||
});
|
||||
|
||||
req.session.token = token;
|
||||
req.session.user = {
|
||||
clientId: trimmed,
|
||||
allClientIds,
|
||||
activeClientId,
|
||||
email: activeClientId + '@debug.local',
|
||||
companyId: '00000000-0000-0000-0000-000000000001',
|
||||
companyName: activeClientId,
|
||||
isAdmin: activeClientId === (process.env.ADMIN_CLIENT_ID || 'WZ01112'),
|
||||
};
|
||||
res.redirect(returnTo || '/');
|
||||
});
|
||||
|
||||
|
||||
+5
-5
@@ -84,15 +84,15 @@
|
||||
<hr>
|
||||
<% } %>
|
||||
|
||||
<%# ── Блок вставки Bearer токена (всегда виден) ── %>
|
||||
<p class="section-title">Войти с Bearer токеном</p>
|
||||
<%# ── Блок ручного ввода clientId (отладка) ── %>
|
||||
<p class="section-title">Ручной вход (clientId)</p>
|
||||
<form method="POST" action="/login-token">
|
||||
<input type="hidden" name="returnTo" value="<%= returnTo || '/' %>">
|
||||
<div class="field">
|
||||
<label>Bearer токен</label>
|
||||
<textarea name="token" placeholder="eyJ..." rows="3" autocomplete="off"></textarea>
|
||||
<label>Client ID (через запятую для нескольких компаний)</label>
|
||||
<input type="text" name="clientId" placeholder="WZ88888,WZ77777" autocomplete="off">
|
||||
</div>
|
||||
<button class="btn" type="submit">Войти по токену</button>
|
||||
<button class="btn" type="submit">Войти</button>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user