Вход через VK ID (OAuth 2.1 + PKCE)
- /api/auth/vk/{start,callback}: PKCE (code_verifier в cookie), обмен на
id.vk.com/oauth2/auth + user_info, аккаунт vk:<id> + cookie-сессия
- Кнопка VK в меню входа, i18n
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -861,6 +861,10 @@
|
||||
<span style="display:inline-flex;width:18px;height:18px;background:#FC3F1D;color:#fff;border-radius:4px;align-items:center;justify-content:center;font-weight:700;font-size:12px;">Я</span>
|
||||
<span data-i18n="login_via_yandex">Через Яндекс</span>
|
||||
</button>
|
||||
<button onclick="location.href='/api/auth/vk/start';" style="display:flex;align-items:center;gap:8px;width:100%;padding:9px 12px;background:none;border:none;border-radius:8px;cursor:pointer;font-family:inherit;font-size:14px;color:#1c2b45;text-align:left;">
|
||||
<span style="display:inline-flex;width:22px;height:18px;background:#07f;color:#fff;border-radius:4px;align-items:center;justify-content:center;font-weight:700;font-size:11px;">VK</span>
|
||||
<span data-i18n="login_via_vk">Через VK</span>
|
||||
</button>
|
||||
</div>
|
||||
<div id="tg-user-info" style="display:none;">
|
||||
<img id="tg-user-photo" src="" alt="" onerror="this.style.display='none'">
|
||||
@@ -1144,6 +1148,7 @@
|
||||
login_btn: 'Войти',
|
||||
login_via_tg: 'Через Telegram',
|
||||
login_via_yandex: 'Через Яндекс',
|
||||
login_via_vk: 'Через VK',
|
||||
err_login: 'Не удалось войти. Попробуйте снова.',
|
||||
logout_btn: 'Выйти',
|
||||
page_description: '🧷 Выберите тип сшивки и при необходимости дополнительные настройки, затем загрузите файл — получите готовый скан.',
|
||||
@@ -1250,6 +1255,7 @@
|
||||
login_btn: 'Login',
|
||||
login_via_tg: 'Via Telegram',
|
||||
login_via_yandex: 'Via Yandex',
|
||||
login_via_vk: 'Via VK',
|
||||
err_login: 'Login failed. Please try again.',
|
||||
logout_btn: 'Logout',
|
||||
page_description: '🧷 Select binding type and optional settings, then upload your file — get a ready scan.',
|
||||
@@ -1357,6 +1363,7 @@
|
||||
login_btn: 'Anmelden',
|
||||
login_via_tg: 'Über Telegram',
|
||||
login_via_yandex: 'Über Yandex',
|
||||
login_via_vk: 'Über VK',
|
||||
err_login: 'Anmeldung fehlgeschlagen. Bitte erneut versuchen.',
|
||||
logout_btn: 'Abmelden',
|
||||
page_description: '🧷 Wählen Sie den Bindungstyp und optionale Einstellungen, laden Sie dann Ihre Datei hoch — erhalten Sie einen fertigen Scan.',
|
||||
@@ -1464,6 +1471,7 @@
|
||||
login_btn: 'Connexion',
|
||||
login_via_tg: 'Via Telegram',
|
||||
login_via_yandex: 'Via Yandex',
|
||||
login_via_vk: 'Via VK',
|
||||
err_login: 'Échec de connexion. Réessayez.',
|
||||
logout_btn: 'Déconnexion',
|
||||
page_description: '🧷 Sélectionnez le type de reliure et les paramètres optionnels, puis téléchargez votre fichier — obtenez un scan prêt à l\'emploi.',
|
||||
@@ -1571,6 +1579,7 @@
|
||||
login_btn: 'Accedi',
|
||||
login_via_tg: 'Via Telegram',
|
||||
login_via_yandex: 'Via Yandex',
|
||||
login_via_vk: 'Via VK',
|
||||
err_login: 'Accesso non riuscito. Riprova.',
|
||||
logout_btn: 'Esci',
|
||||
page_description: '🧷 Seleziona il tipo di rilegatura e le impostazioni opzionali, poi carica il file — ottieni una scansione pronta.',
|
||||
@@ -1678,6 +1687,7 @@
|
||||
login_btn: 'Iniciar sesión',
|
||||
login_via_tg: 'Con Telegram',
|
||||
login_via_yandex: 'Con Yandex',
|
||||
login_via_vk: 'Con VK',
|
||||
err_login: 'Error de inicio de sesión. Inténtalo de nuevo.',
|
||||
logout_btn: 'Cerrar sesión',
|
||||
page_description: '🧷 Selecciona el tipo de encuadernación y configuraciones opcionales, luego sube tu archivo — obtén un escaneo listo.',
|
||||
@@ -1785,6 +1795,7 @@
|
||||
login_btn: 'Entrar',
|
||||
login_via_tg: 'Via Telegram',
|
||||
login_via_yandex: 'Via Yandex',
|
||||
login_via_vk: 'Via VK',
|
||||
err_login: 'Falha no login. Tente novamente.',
|
||||
logout_btn: 'Sair',
|
||||
page_description: '🧷 Selecione o tipo de encadernação e configurações opcionais, depois faça upload do arquivo — obtenha uma digitalização pronta.',
|
||||
|
||||
Reference in New Issue
Block a user