• release

Aktualizacje produktu Logto

Logto v1.39.0 jest już dostępny – wprowadza bezpieczniejszą rotację kluczy podpisujących, inteligentniejsze obsługiwanie błędów skryptów JWT, rozszerzone kontrolki bezpieczeństwa w Centrum Konta, obsługę konektora WhatsApp oraz kluczowe ulepszenia związane z bezpieczeństwem.

Simeng
Simeng
Developer

Przestań tracić tygodnie na uwierzytelnianie użytkowników
Uruchamiaj bezpieczne aplikacje szybciej z Logto. Zintegruj uwierzytelnianie użytkowników w kilka minut i skup się na swoim głównym produkcie.
Rozpocznij
Product screenshot

Z radością przedstawiamy Logto v1.39.0 — wydanie skupiające się na wzmocnieniu bezpieczeństwa operacyjnego, elastyczniejszym dostosowaniu tokenów oraz ulepszeniu bezpieczeństwa kont użytkowników końcowych. Ta wersja dodaje okres karencji podczas rotacji prywatnych kluczy podpisujących, konfigurowalną obsługę błędów dla własnych skryptów JWT, nową stronę bezpieczeństwa w Centrum Konta, obsługę konektora WhatsApp przez Meta Cloud API oraz szereg poprawek bezpieczeństwa i niezawodności w przepływach uwierzytelniania.

Najważniejsze zmiany

  • Okres karencji rotacji prywatnego klucza podpisującego: Logto obsługuje teraz okres karencji przy rotacji prywatnych kluczy podpisujących, pomagając klientom odświeżyć pamięć podręczną JWKS bez przestojów.
  • Obsługa błędów własnych skryptów JWT: Dostosowywanie JWT access tokena i client credentials może teraz blokować wydawanie tokenów, jeśli skrypty nie powiodą się.
  • Strona bezpieczeństwa Centrum Konta: Użytkownicy końcowi mogą teraz zarządzać powiązaniem kont społecznościowych, MFA i usunięciem konta z poziomu Centrum Konta.
  • Konektor WhatsApp: Nowy konektor SMS WhatsApp jest dostępny poprzez Meta Cloud API.
  • Poprawki bezpieczeństwa i kompatybilności: Odpowiedzi weryfikacji zapomnianego hasła zostały ujednolicone, by zmniejszyć ryzyko enumeracji kont, a przekierowania do logowania społecznego/SSO w aplikacjach są bardziej odporne.

Nowe funkcje i usprawnienia

Okres karencji rotacji prywatnego klucza podpisującego

Logto obsługuje teraz okres karencji podczas rotacji prywatnego klucza podpisującego.

Można go skonfigurować poprzez:

  • Zmienną środowiskową PRIVATE_KEY_ROTATION_GRACE_PERIOD.
  • Opcję CLI --gracePeriod.

W czasie okresu karencji:

  • Nowo wygenerowany klucz podpisujący oznaczony jest jako Następny.
  • Dotychczasowy klucz podpisujący pozostaje aktywny jako Aktualny.
  • Klienci mają czas na odświeżenie pamięci podręcznej JWKS, zanim nowy klucz stanie się aktywny.

Po zakończeniu okresu karencji:

  • Nowy prywatny klucz podpisujący przechodzi na status Aktualny.
  • Stary klucz podpisujący oznaczony jest jako Poprzedni.

Zapewnia to płynny proces rotacji kluczy i pomaga uniknąć awarii uwierzytelniania spowodowanych nieaktualną pamięcią podręczną JWKS.

Dokumentacja: Rotacja kluczy podpisujących

Obsługa błędów własnych skryptów JWT

Logto obsługuje teraz konfigurowalną obsługę błędów dla własnych skryptów JWT używanych przy wydawaniu access tokena oraz client credentials.

Zmiany obejmują:

  • Własne skrypty JWT mogą teraz blokować wydanie tokena w przypadku niepowodzenia wykonania.
  • api.denyAccess() zachowuje odpowiedź access_denied.
  • Inne awarie skryptów w trybie blokującym zwracają zlokalizowane odpowiedzi invalid_request.
  • W Konsoli dodano dedykowaną zakładkę Obsługa błędów do konfiguracji zachowania.
  • Nowo tworzone skrypty mają domyślnie włączoną opcję blockIssuanceOnError.
  • Istniejące skrypty, które nie mają zapisanej wartości, zachowują dotychczasowe wyłączone zachowanie.
  • Zaktualizowano odpowiednie wskazówki, frazy, schematy i zakres integracji w Konsoli.

To pozwala deweloperom zdecydować, czy niepowodzenia personalizacji tokena powinny skutkować wydaniem (fail open), czy zablokowaniem (fail closed) procesu w zależności od wymagań bezpieczeństwa.

Strona bezpieczeństwa Centrum Konta

Wydanie to dodaje nową stronę bezpieczeństwa do domyślnego Centrum Konta.

Użytkownicy końcowi mogą teraz zarządzać bezpieczeństwem konta pod /account/security, w tym:

  • Powiązaniem i odłączaniem kont społecznościowych.
  • Weryfikacją dwuetapową (MFA).
  • Usuwaniem konta.

Wsparcie w Konsoli:

  • Ustawienia Centrum Konta dla doświadczenia logowania udostępniają teraz pole URL usuwania konta.
  • Konsola wyświetla wpisy predefiniowanych interfejsów Centrum Konta i logowania społecznego.

Konektor WhatsApp przez Meta Cloud API

Dodano nowy konektor WhatsApp do wysyłania wiadomości przez Meta Cloud API.

Możliwa jest dzięki temu obsługa scenariuszy dostarczania SMS / kodów weryfikacyjnych przez WhatsApp, z użyciem oficjalnej integracji z Meta Cloud API.

Ciała odpowiedzi API przypisywania organizacji

API przypisywania użytkownika oraz roli organizacji teraz zwracają ciała odpowiedzi.

Zaktualizowane endpointy:

  • POST /organizations/:id/users zwraca teraz { userIds: string[] }, zwracając identyfikatory użytkowników podane w żądaniu.
  • POST /organizations/:id/users/:userId/roles zwraca { organizationRoleIds: string[] } — zawiera końcowe zdupikowane id ról przypisanych do użytkownika, w tym id uzyskane z przekazanych nazw ról.

Aktualizacja tokenu motywu Konsoli

Motywy Konsoli zawierają teraz brakujący token --color-overlay-primary-subtle dla trybów jasnego i ciemnego.

Poprawki błędów i stabilność

Ochrona przed enumeracją przy weryfikacji zapomnianego hasła

Weryfikacja przy odzyskiwaniu hasła teraz zawsze zwraca jednolity błąd verification_code.code_mismatch.

Zapobiega to ujawnieniu, czy dany email lub numer telefonu istnieje, na podstawie zróżnicowanych odpowiedzi błędów.

Przekierowania społecznościowe i SSO w przeglądarkach w aplikacji

Poprawiono niezawodność przekierowań społecznościowych i SSO w przeglądarkach aplikacji, takich jak Instagram, Facebook i LINE.

Niektóre przeglądarki w aplikacji otwierają strony dostawców tożsamości OAuth w nowym WebView, co może powodować utratę sessionStorage po przekierowaniu z powrotem.

To wydanie wprowadza zapasowy mechanizm localStorage:

  • Stan przekierowania nadal zapisywany jest w sessionStorage.
  • Dodatkowo, w localStorage przechowywany jest zapasowy pakiet kontekstu przekierowania.
  • Przy wywołaniu zwrotnym Logto przywraca stan z localStorage, jeśli sessionStorage jest nieobecny.
  • Zapasowe wpisy są konsumowane podczas odczytu i automatycznie czyszczone po 10 minutach.
  • Jeśli oba miejsca przechowywania są puste, użytkownik widzi powiadomienie o błędzie.

Adres IP w żądaniu konektora kodu weryfikacyjnego

Naprawiono problem, w którym adres IP żądania nie był przekazywany do konektorów przy wysyłaniu kodów weryfikacyjnych.

Pozwala to konektorom otrzymać prawidłowy kontekst żądania dla dostarczenia kodu weryfikacyjnego.