Uwierzytelnianie dwuskładnikowe (2FA / TOTP). Moduł dodaje jednorazowe kody TOTP (Google Authenticator, Authy, Microsoft Authenticator) do panelu administracyjnego (back office) i do konta klienta: rejestracja przez kod QR, szyfrowane sekrety, jednorazowe zapasowe kody odzyskiwania oraz blokada chroniąca przed atakami brute force. Moduł jest w pełni samodzielny: bez zewnętrznej usługi, bez połączeń sieciowych, bez dodatkowych bibliotek.
Uwierzytelnianie dwuskładnikowe dodaje jednorazowe kody TOTP (Google Authenticator, Authy, Microsoft Authenticator) do panelu administracyjnego (back office) i do konta klienta: rejestracja przez kod QR, szyfrowane sekrety, jednorazowe zapasowe kody odzyskiwania oraz blokada chroniąca przed atakami brute force. Moduł jest w pełni samodzielny: bez zewnętrznej usługi, bez połączeń sieciowych, bez dodatkowych bibliotek.
1. Instalacja
- W panelu administracyjnym (back office) należy przejść do Modules → Module Manager → Upload a module i wybrać plik ZIP modułu.
- Po zainstalowaniu należy kliknąć Configure, aby otworzyć kreator konfiguracji.
.local, .test, localhost) są zawsze dozwolone. Gdy dostępna jest nowa wersja, widać to bezpośrednio w module.Jeśli zamiast potwierdzenia pojawi się komunikat „Upload failed”, PrestaShop mógł wyłączyć moduł bez powiadomienia: Państwa ustawienia i dane pozostają na swoim miejscu. Jak zaktualizować moduł i co zrobić, gdy pojawi się komunikat „Upload failed”.
2. Konfiguracja krok po kroku
Ekran Configure zawiera jeden panel ustawień, a po nim dwie listy zarejestrowanych użytkowników. Najpierw należy ustawić zasady, a następnie za pomocą list sprawdzić, kto jest chroniony, i zresetować dostęp osobom, które zostały zablokowane.
Two-Factor Authentication - Settings główny przełącznik
Ten panel określa, gdzie działa 2FA i jak rygorystycznie. Zapis następuje przyciskiem Save na dole.
- Enable 2FA for the back office: włącza drugi składnik dla pracowników logujących się do panelu administracyjnego. Po włączeniu każde żądanie w panelu jest blokowane do momentu zweryfikowania kodu.
- Enable 2FA for the front office: włącza drugi składnik dla klientów w ich panelu konta.
- Force 2FA for these profiles: identyfikatory profili oddzielone przecinkami (np.
1dla SuperAdmin). Pracownicy z tych profili muszą się zarejestrować; formularz wyświetla dla orientacji identyfikator i nazwę każdego profilu. - Tolerance window (steps of 30s): ile 30-sekundowych kroków rozbieżności zegara jest akceptowanych (0-5). Wyższe wartości są bardziej tolerancyjne, gdy zegar telefonu lekko się spieszy lub spóźnia; niższe są bardziej rygorystyczne.
- Number of backup codes: ile jednorazowych kodów odzyskiwania jest generowanych podczas rejestracji (4-20, domyślnie 8). Każdy kod działa tylko raz, gdy aplikacja uwierzytelniająca jest niedostępna.
- Issuer name (shown in the app): etykieta wyświetlana obok konta w aplikacji uwierzytelniającej. Pozostawienie pustego pola oznacza użycie nazwy sklepu.
- Drop data on uninstall: jeśli wybrano Yes, wszystkie sekrety rejestracji i kody zapasowe są usuwane po odinstalowaniu modułu.

Enrolled employees
Wyświetla każdego pracownika panelu administracyjnego, który skonfigurował 2FA, wraz z identyfikatorem, nazwiskiem, adresem e-mail, statusem (Active lub Pending) i datą ostatniej aktualizacji.
- Reset 2FA: usuwa sekret pracownika i zeruje licznik nieudanych prób, dzięki czemu może on zarejestrować się od nowa (należy użyć, gdy ktoś zgubił telefon lub został zablokowany).
- Jeśli nikt jeszcze się nie zarejestrował, panel po prostu to zakomunikuje.

Enrolled customers
Ta sama lista dla klientów sklepu, którzy włączyli 2FA na swoim koncie: identyfikator, nazwisko, adres e-mail, status i data ostatniej aktualizacji.
- Reset 2FA: zeruje rejestrację klienta i licznik niepowodzeń, aby mógł zarejestrować się ponownie; przydatne przy zgłoszeniach do obsługi, gdy klient nie może się już zalogować.
- Lista jest pusta, dopóki nie zarejestruje się co najmniej jeden klient.

3. Sprawdzenie działania
- Należy włączyć 2FA dla panelu administracyjnego, następnie wylogować się i zalogować ponownie: przed wejściem do pulpitu pojawi się prośba o zeskanowanie kodu QR i wpisanie 6-cyfrowego kodu.
- Po rejestracji należy sprawdzić, czy konto widnieje na liście Enrolled employees ze statusem Active.
- Należy wylogować się, zalogować ponownie i zamiast kodu z aplikacji wpisać jeden z kodów zapasowych: powinien on umożliwić jednorazowe zalogowanie, a następnie zostać zużyty.
- W panelu administracyjnym należy kliknąć Reset 2FA przy koncie testowym i sprawdzić, czy zniknęło z listy, a przy następnym logowaniu pojawia się ponowna prośba o rejestrację.
4. FAQ
Jakie aplikacje uwierzytelniające są obsługiwane?
Każda standardowa aplikacja TOTP (RFC 6238): Google Authenticator, Authy, Microsoft Authenticator i podobne działają bez problemu.
Co zrobić, gdy pracownik zgubi telefon?
Może użyć kodu zapasowego albo administrator może kliknąć Reset 2FA na liście Enrolled, aby umożliwić rejestrację nowego urządzenia.
Czy potrzebne jest połączenie z internetem lub zewnętrzna usługa?
Nie. Kody są generowane i weryfikowane lokalnie, a sekrety są szyfrowane. Nie ma połączeń sieciowych ani zależności od stron trzecich.
Czy moduł chroni przed atakami brute force?
Tak. Wielokrotne wpisanie błędnych kodów uruchamia blokadę antybrute force, a okno tolerancji można konfigurować, aby wyważyć bezpieczeństwo i wygodę.
