Home / Integracje i pluginy / SMS OTP in Keycloak

Wysyłka SMS, MMS z Keycloak dzięki SMSEagle - instrukcja intregracji​​

Poniżej znajdziesz jak skonfigurować MFA/2FA  z użyciem SMS OTP (One-Time Password) w Keycloak z urządzeniem SMSEagle, w celu obsługi SMS/MMS. Proces konfiguracji jest prosty i zajmuje około 10–15 minut.

SMSEagle to sprzętowa, offline bramka SMS. Nie wymaga zewnętrznego połączenia z systemami firm trzecich. Wszystkie powiadomienia generowane są lokalnie (on-premise) i wysyłane bezpośrednio do sieci komórkowej. Rozwiązanie to może być stosowane w instalacjach o podwyższonym poziomie bezpieczeństwa, bez dostępu do Internetu.

Konfiguracja SMSEagle

  • Utwórz nowego użytkownika w SMSEagle (menu Użytkownicy > + Dodaj użytkowników) z poziomem dostępu: Użytkownik.
  • Przyznaj dostęp do API utworzonemu użytkownikowi:
    • kliknij Dostęp do API obok nowego użytkownika
    • włącz APIv1
    • kliknij Wygeneruj nowy klucz (skopiuj token do późniejszego użycia)
  • W sekcji APIv1 Uprawnienia przyznaj:
    • send_sms
    • send_tocontact
    • send_togroup
  • Zapisz ustawienia.

Konfiguracja Keycloak

Integracja wykorzystuje repozytorium keycloak-mfa-plugins, które umożliwia uwierzytelnianie drugiego składnika (2FA) z użyciem OTP/kodu/tokenu wysyłanego przez SMS. Pełna dokumentacja dostępna jest pod podanym linkiem w repozytorium projektu.

  1. Instalacja

    a) Przejdź do:
    https://github.com/netzbegruenung/keycloak-mfa-plugins/releases
    i pobierz najnowszy plik .jar.

    b) Skopiuj pobrany plik jar do katalogu providers w Keycloak:

    cp netzbegruenung.keycloak-2fa-sms-authenticator.jar /path/to/keycloak/providers

    c) Uruchom komendę build i zrestartuj Keycloak:

    /path/to/keycloak/bin/kc.sh build [your-additional-flags]
    systemctl restart keycloak.service

2. Konfiguracja

a) Przejdź do konfiguracji Authentication flow (Przepływ uwierzytelniania):
https://keycloak.example.com/admin/master/console/#/YOUR-REALM/authentication
Następnie edytuj Browser flow (Przepływ Browser).

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

c) Upewnij się, że execution ma nazwę sms-2fa.
Możesz dodać dodatkowe executions (wykonania) z innymi nazwami, jednak to pierwsze execution będzie używane do wysyłania confirmation SMS (SMS potwierdzającego) podczas konfiguracji nowego numeru telefonu.

d) Przejdź do konfiguracji execution (wykonania) i skonfiguruj plugin tak, aby działał z API SMSEagle:

SMS API URLhttps://IP.OF.YOUR.SMSEAGLE/api/v2/messages/sms_single
gdzie IP.OF.YOUR.SMSEAGLE należy zastąpić rzeczywistym adresem IP lub nazwą domenową urządzenia SMSEagle.

URL encode data (Kodowanie danych URL): off

API Secret Token Attribute (Atrybut tokenu API): access_token

API Secret (Sekretny token API): token API wygenerowany w kroku SMSEagle setup (Konfiguracja SMSEagle)

Message Attribute (Atrybut treści wiadomości): text

Receiver Phone Number Attribute (Atrybut numeru odbiorcy): to

Sender Phone Number Attribute (Atrybut numeru nadawcy): from

Force 2FA (Wymuś 2FA) – jeśli ta opcja jest włączona i użytkownik nie ma skonfigurowanej innej metody 2FA, będzie zobowiązany do skonfigurowania SMS Authenticator (Uwierzytelniania SMS).

3. Używanie

Po skonfigurowaniu authenticator (autentykatora) oraz wymaganych actions (akcji), użytkownicy mogą skonfigurować SMS Authentication (Uwierzytelnianie SMS) w account console (konsoli konta) pod adresem:
/realms/realm/account/#/account-security/signing-in

Proces polega na wprowadzeniu oraz potwierdzeniu numeru telefonu.

Czym jest sprzętowa
bramka SMS?

Dowiedz się więcej o
funkcjach SMSEagle

Poznaj urządzenie demo SMSEagle

SMSEagle to rozwiązanie sprzętowe i programowe, które gwarantuje szybkie dostarczanie wiadomości do wyznaczonych odbiorców, niezależnie od tego, czy chodzi o powiadomienia, alerty czy ważne aktualizacje.

Po zarejestrowaniu się w wersji demonstracyjnej otrzymasz zdalny dostęp do naszego fizycznego urządzenia NXS-9750.

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