mirror of
https://github.com/mauriceboe/TREK.git
synced 2026-06-22 06:41:46 +00:00
feat: Passkey (WebAuthn) login (#1111)
* feat(auth): passkey (WebAuthn) login — server endpoints, schema + admin toggle Add @simplewebauthn/server registration and primary (discoverable) login ceremonies under /api/auth/passkey, a webauthn_credentials + single-use webauthn_challenges schema (migration), the instance-wide passkey_login toggle (default off) enforced before auth by a guard, and require_mfa satisfaction via a verified passkey. RP ID/origin come only from server config (webauthn_rp_id/origins -> APP_URL), never request headers. * feat(auth): passkey enrolment, login button + admin settings UI PasskeysSection in account settings (add/rename/remove with a current-password step-up), a 'Sign in with a passkey' button on the login page, the admin enable + RP-ID/origins controls, and a per-user admin reset action. * i18n(auth): passkey strings across all locales Add login/settings/admin passkey keys to en and all 19 translated locales.
This commit is contained in:
@@ -362,5 +362,24 @@ const admin: TranslationStrings = {
|
||||
'admin.addons.catalog.journey.name': 'Útinaplók',
|
||||
'admin.addons.catalog.journey.description':
|
||||
'Utazáskövetés és útinapló bejelentkezésekkel, fotókkal és napi történetekkel',
|
||||
'admin.passkey.title': 'Passkey-bejelentkezés',
|
||||
'admin.passkey.cardHint':
|
||||
'Engedélyezd a felhasználóknak a bejelentkezést passkey-vel (WebAuthn). Alapból kikapcsolva.',
|
||||
'admin.passkey.login': 'Passkey-bejelentkezés engedélyezése',
|
||||
'admin.passkey.loginHint':
|
||||
'Jeleníts meg egy „Bejelentkezés passkey-jel" lehetőséget, és engedd, hogy a felhasználók passkey-ket regisztráljanak a beállításaikban.',
|
||||
'admin.passkey.notConfigured':
|
||||
'Ehhez a telepítéshez még nem oldódik fel WebAuthn-domain. Állítsd be az APP_URL-t vagy a lenti Relying Party ID-t — addig a passkey-k rejtve maradnak.',
|
||||
'admin.passkey.rpId': 'Relying Party ID (domain)',
|
||||
'admin.passkey.rpIdHint':
|
||||
'A csupasz domain, amelyhez a passkey-k kötődnek, pl. trek.example.org. Hagyd üresen, hogy az APP_URL-ből legyen levezetve. Későbbi módosítása érvényteleníti a meglévő passkey-ket.',
|
||||
'admin.passkey.origins': 'Engedélyezett origók',
|
||||
'admin.passkey.originsHint':
|
||||
'Vesszővel elválasztott teljes origók, pl. https://trek.example.org. Hagyd üresen az APP_URL használatához.',
|
||||
'admin.passkey.reset': 'Passkey-k visszaállítása',
|
||||
'admin.passkey.resetHint':
|
||||
'Eltávolítja a felhasználó összes passkey-jét (pl. elveszett eszköz esetén). A jelszavukkal továbbra is be tudnak jelentkezni.',
|
||||
'admin.passkey.resetConfirm': 'Eltávolítod {name} összes passkey-jét?',
|
||||
'admin.passkey.resetDone': '{count} passkey eltávolítva',
|
||||
};
|
||||
export default admin;
|
||||
|
||||
@@ -98,5 +98,8 @@ const login: TranslationStrings = {
|
||||
'A link hiányzik vagy sérült. A folytatáshoz kérj egy újat.',
|
||||
'login.resetPasswordFailed':
|
||||
'A visszaállítás nem sikerült. A link lehet, hogy lejárt.',
|
||||
'login.passkey.signIn': 'Bejelentkezés passkey-jel',
|
||||
'login.passkey.failed':
|
||||
'A passkey-bejelentkezés sikertelen. Kérjük, próbáld újra.',
|
||||
};
|
||||
export default login;
|
||||
|
||||
@@ -299,6 +299,30 @@ const settings: TranslationStrings = {
|
||||
'settings.notificationPreferences.ntfy': 'Ntfy',
|
||||
"settings.currency": "Currency",
|
||||
"settings.currencyHint": "All amounts in Costs are converted to and shown in this currency.",
|
||||
'settings.passkey.title': 'Passkey-k',
|
||||
'settings.passkey.description':
|
||||
'Jelentkezz be gyorsabban és adathalászat-állóan egy passkey-jel — ujjlenyomattal, arccal, PIN-kóddal vagy hardveres kulccsal. A jelszavad tartalékként megmarad.',
|
||||
'settings.passkey.notConfigured':
|
||||
'A passkey-k engedélyezve vannak, de ezen a szerveren még nincsenek teljesen beállítva. Kérd meg a rendszergazdát, hogy állítsa be a WebAuthn-domaint.',
|
||||
'settings.passkey.add': 'Passkey hozzáadása',
|
||||
'settings.passkey.addTitle': 'Passkey hozzáadása',
|
||||
'settings.passkey.passwordPrompt':
|
||||
'Erősítsd meg a jelenlegi jelszavad, majd kövesd az eszközöd útmutatását.',
|
||||
'settings.passkey.passwordRequired': 'A jelenlegi jelszó megadása kötelező.',
|
||||
'settings.passkey.namePlaceholder': 'Név (opcionális, pl. "iPhone")',
|
||||
'settings.passkey.addedToast': 'Passkey hozzáadva',
|
||||
'settings.passkey.added': 'Hozzáadva',
|
||||
'settings.passkey.addError': 'Nem sikerült hozzáadni a passkey-t',
|
||||
'settings.passkey.cancelled': 'Passkey beállítása megszakítva',
|
||||
'settings.passkey.deleted': 'Passkey eltávolítva',
|
||||
'settings.passkey.deleteConfirm':
|
||||
'Eltávolítod ezt a passkey-t? Erősítsd meg a jelszavaddal.',
|
||||
'settings.passkey.rename': 'Átnevezés',
|
||||
'settings.passkey.defaultName': 'Passkey',
|
||||
'settings.passkey.synced': 'Szinkronizálva',
|
||||
'settings.passkey.deviceBound': 'Ez az eszköz',
|
||||
'settings.passkey.lastUsed': 'Utoljára használva',
|
||||
'settings.passkey.neverUsed': 'Még nem használt',
|
||||
};
|
||||
|
||||
export default settings;
|
||||
|
||||
Reference in New Issue
Block a user