Home / Integracje i pluginy / Integracja SMS z Keycloak

+

Wysyłaj kody SMS OTP z Keycloak

Gdy użytkownik loguje się do aplikacji chronionej przez Keycloak, kod jednorazowy jest wysyłany SMS-em przez SMSEagle, Twoją sprzętową bramkę SMS. Zapytanie nie opuszcza sieci lokalnej i nie przechodzi przez dostawcę SMS w chmurze.

Kody OTP nigdy nie trafiają do zewnętrznej firmy

Jednorazowe hasło to poświadczenie bezpieczeństwa. Wysyłanie go przez chmurowego dostawcę SMS oznacza, że Twoje kody przechodzą przez zewnętrzną platformę przy każdym logowaniu. SMSEagle eliminuje tego pośrednika: Keycloak wywołuje bramkę w Twojej sieci lokalnej, a kod jest wysyłany z Twojego własnego urządzenia przez sieć komórkową.

Działa w sieciach izolowanych i odciętych od internetu

Chmurowy OTP SMS wymaga wychodzącego dostępu do internetu z Twojej infrastruktury tożsamości – co jest nie do zaakceptowania w środowiskach odciętych od sieci. SMSEagle wysyła wiadomości lokalnie przez własne połączenie komórkowe, dostarczając kody OTP nawet w instalacjach bez internetu.

Przewidywalny koszt, bez zależności od dostawcy

Chmurowy OTP SMS jest rozliczany za wiadomość, często w podwyższonych stawkach dla ruchu uwierzytelniającego. SMSEagle wysyła przez standardową kartę SIM w cenach lokalnego operatora – bez opłat za wiadomość, bez zewnętrznej umowy, bez chmurowego dostawcy, który może podnieść ceny albo przestać działać.

Jak to działa?

1

Próba logowania

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

2

Żądanie OTP

Keycloak generuje kod jednorazowy i wywołuje API urządzenia SMSEagle w sieci lokalnej.

3

Dostarczenie kodu

SMSEagle dostarcza kod przez własne połączenie komórkowe, bez pośrednictwa zewnętrznego serwisu, jako SMS do własnego telefonu użytkownika.

Konfiguracja w około 10 minut

Połącz Keycloak z SMSEagle i dodaj krok SMS w przepływie uwierzytelniania, a kody będą wysyłane SMS-em.

SMSEagle wysyła kody jednorazowe z Keycloak SMS-em z Twojego urządzenia, bez dostawcy SMS w chmurze.

Działa na każdym telefonie

Kod SMS nie wymaga aplikacji: odbiorca dostanie go na dowolny telefon komórkowy.

Każdy wysłany kod jest zapisany

SMSEagle zapisuje każdy wysłany kod wraz ze statusem, więc sprawdzisz, czy dotarł.

Logowanie działa nawet przy awarii jednego urządzenia

Dwa urządzenia SMSEagle mogą pracować w klastrze HA: gdy jedno ulegnie awarii, drugie przejmuje wysyłanie kodów.

Konfiguracja SMSEagle

  • Stwórz nowego użytkownika w SMSEagle
    (menu System > Users, poziom dostępu: „Użytkownik”).
  • Utwórz klucz API dla tego użytkownika:
    • Przejdź do Settings > Global settings > API i otwórz stronę API v2.
    • Kliknij Create API key, wpisz nazwę w polu Key name i wskaż tego użytkownika w polu Owner.
    • W sekcji Messages dodaj uprawnienia dla: Send SMS (single recipient).
    • Kliknij Create key. Token dostępu jest pokazywany tylko raz, zaraz po zapisaniu.

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 rozwiązanie sprzętowo-programowe, które gwarantuje szybkie dostarczenie wiadomości do wskazanych odbiorców – niezależnie od tego, czy chodzi o powiadomienia, alerty czy ważne aktualizacje.

Po rejestracji do wersji demo otrzymujesz zdalny dostęp do naszego fizycznego urządzenia NXS-9750.

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

Czym jest sprzętowa
bramka SMS?

Dowiedz się więcej o
funkcjach SMSEagle