Home / Integracje i pluginy / SMS OTP w Keycloak
Keycloak and SMS Eagle logos side by side, signaling a partnership or collaboration.

SMS OTP w Keycloak – instrukcja integracji

Zintegruj system Keycloak z urządzeniem SMSEagle i skonfiguruj uwierzytelnianie wieloskładnikowe MFA/2FA
(Multi-Factor Authentication) za pomocą jednorazowych kodów SMS OTP (One-Time Password). Wykorzystaj lokalny
kanał SMS (on-premise) i zapewnij pełną prywatność swoich danych.

Diagram showing Keycloak server sending data via API to the SMS Eagle Device, which relays an SMS to the user with a smartphone on the right.

Korzyści

Verified security badge: blue shield outline with a dark circle and white checkmark indicating protection and trust.

Kody OTP nigdy nie trafiają do firm trzecich

Hasło jednorazowe to krytyczny element uwierzytelniania. Wysyłanie go przez chmurowego dostawcę SMS oznacza, że przy każdym logowaniu Twoje kody przechodzą przez zewnętrzną platformę. SMSEagle eliminuje pośrednika: KeyCloak komunikuje się z bramką w sieci lokalnej, a kod jest wysyłany z Twojego  urządzenia bezpośrednio przez sieć komórkową.

Icon depicting a hand interacting with a circular timer/clock motif and a rectangular element, suggesting a user action with time or sequencing

Działanie w sieciach
izolowanych i air-gapped

Kody OTP z chmury wymagają, aby system zarządzania tożsamością miał dostęp do internetu – a to wyklucza ich użycie w zamkniętych środowiskach typu air-gap. SMSEagle wysyła wiadomości lokalnie (on-premises) przez łącze komórkowe, dostarczając kody OTP nawet w instalacjach całkowicie odciętych od sieci. To rozwiązanie idealne dla sektorów regulowanych, gdzie dane nie mogą opuścić sieci lokalnej.

On‑prem SMS gateway keeps data private inside your infrastructure

Przewidywalne koszty, brak
zależności od dostawców

W przypadku chmurowych SMS OTP opłaty naliczane są za każdą wiadomość – często według wyższych stawek dla ruchu uwierzytelniającego. Przez to koszty rosną z każdym logowaniem użytkownika. SMSEagle wysyła wiadomości ze zwykłej karty SIM na warunkach lokalnego operatora. Oznacza to brak dodatkowych opłat za SMS-y,  zewnętrznych umów i ryzyka, że dostawca chmurowy podniesie ceny lub ulegnie awarii, odcinając użytkownikom dostęp.

Jak to działa?

1

Próba logowania

Użytkownik loguje się do aplikacji chronionej przez Keycloak i przechodzi pierwszy etap uwierzytelniania (podaje hasło).

2

Żądanie kodu OTP

Keycloak generuje kod jednorazowy i wywołuje interfejs API urządzenia SMSEagle za pośrednictwem sieci lokalnej.

3

Dostarczenie kodu

SMSEagle wysyła kod OTP na telefon użytkownika w wiadomości SMS. Użytkownik wpisuje go, aby dokończyć logowanie.

Flow: API sends from servers to SMSEagle Device, which connects via cellular network to a cellular operator, triggering an SMS alert to on-shift admins via mobile device.

Integracja w 10 minut

Nie marnuj czasu na skomplikowaną konfigurację. Dzięki HTTP API w SMSEagle oraz integracji zdarzeń w KeyCloak możesz zacząć wysyłać kody SMS OTP w zaledwie kilku krokach. Połącz KeyCloak, skonfiguruj przekazywanie zdarzeń, a Twoje uwierzytelnianie wieloskładnikowe przez SMS będzie gotowe do działania.

O SMSEagle

SMSEagle to sprzętowa bramka SMS, która umożliwia wysyłanie i odbieranie powiadomień bezpośrednio przez sieć komórkową. Działa lokalnie, dzięki czemu wszystkie dane pozostają pod pełną kontrolą użytkownika.

Jak skonfigurować integrację

Konfiguracja SMSEagle

  • Stwórz nowego użytkownika w SMSEagle
    (menu Users > + Add Users). poziom dostępu: „Użytkownik”).
  • Nadaj stworzonemu użytkownikowi dostęp do API:
    • Kliknij Access to API obok nowo utworzonego użytkownika.
    • Włącz opcję APIv2.
    • Wygeneruj nowy token za pomocą przycisku Generate new token.
    • W sekcji Messages dodaj uprawnienia dla: Send SMS (single recipient).
    • Zapisz ustawienia (Save settings).

Konfiguracja KeyCloak

Integracja ta wykorzystuje repozytorium keycloak-mfa-plugins w celu uzyskania drugiego składnika uwierzytelniania (2FA) za pomocą kodu/tokenu OTP wysyłanego przez SMS. Pełną instrukcję można znaleźć pod tym linkiem.

1. Instalacja

a) Przejdź na stronę https://github.com/netzbegruenung/keycloak-mfa-plugins/releases i pobierz najnowszy plik .jar.
b) Skopiuj pobrany plik .jar do katalogu providers w swojej instalacji Keycloak: cp netzbegruenung.keycloak-2fa-sms-authenticator.jar /path/to/keycloak/providers
c) Uruchom polecenie budowania i zrestartuj Keycloak: /path/to/keycloak/bin/kc.sh build [your-additional-flags] systemctl restart keycloak.service

2. Konfiguracja

a) Przejdź do konfiguracji przepływu uwierzytelniania: [https://keycloak.example.com/admin/master/console/#/YOUR-REALM/authentication](https://keycloak.example.com/admin/master/console/#/YOUR-REALM/authentication), a następnie edytuj przepływ Browser.

b) Dodaj nowy krok obok OTP Form. Wybierz moduł SMS Authentication (2FA) i ustaw go jako Alternative.

c) Upewnij się, że nadasz mu nazwę sms-2fa.
(Można dodać kolejne reguły z innymi nazwami, jednak to pierwsze uruchomienie będzie używane do wysyłania SMS-a weryfikacyjnego podczas konfiguracji nowego numeru telefonu).

d) Wejdź w konfigurację tego kroku i ustaw wtyczkę tak, aby współpracowała z API SMSEagle:

    • SMS API URL: https://IP.OF.YOUR.SMSEAGLE/api/v2/messages/sms_single (gdzie zamiast IP.OF.YOUR.SMSEAGLE należy wpisać rzeczywisty adres IP lub domenę urządzenia SMSEagle).

    • URL encode data: off

    • API Secret Token Attribute: access_token

    • API Secret: Token dostępu API wygenerowany w kroku konfiguracji SMSEagle.

    • Message Attribute: text

    • Receiver Phone Number Attribute: to

    • Sender Phone Number Attribute: from

    • Force 2FA: Jeśli ta opcja jest włączona, a użytkownik nie ma jeszcze aktywnej żadnej innej metody 2FA, będzie musiał obowiązkowo skonfigurować SMS Authenticator.

3. Użycie
Gdy moduł uwierzytelniania i wymagane akcje zostaną skonfigurowane, użytkownicy mogą włączyć uwierzytelnianie SMS w konsoli konta pod adresem /realms/realm/account/#/account-security/signing-in, wpisując i potwierdzając swój numer telefonu.

Poznaj urządzenie demo SMSEagle

SMSEagle to urządzenie z wbudowanym oprogramowaniem, które gwarantuje szybkie dostarczanie wiadomości do wyznaczonych odbiorców, niezależnie czy są to powiadomienia, alerty czy ważne aktualizacje.

Wypełnij formualarz i uzyskaj dostep do fizycznego urządzenia demonstracyjnego.

  • 14-dniowy bezpłatny okres próbny
  • Dostęp do ponad 20 funkcjonalności

Czym jest sprzętowa
bramka SMS?

Dowiedz się więcej o
funkcjach SMSEagle