Migracja z Auth0 do FoxIDs

Przenieś logowanie z Auth0 do FoxIDs, dobierając sposób migracji do każdego połączenia. Zaimportuj użytkowników bazy danych ze skrótami haseł bcrypt lub pozwól im wybrać nowe hasło. Zaimportuj użytkowników bezhasłowych bez haseł i włącz kody jednorazowe. Dla logowania społecznościowego i firmowego skonfiguruj metody uwierzytelniania FoxIDs ufające zewnętrznym dostawcom tożsamości.

Ten techniczny przewodnik opisuje konfigurację aplikacji, import użytkowników i mapowanie kont dla połączeń Auth0 z bazą danych, bezhasłowych połączeń e-mail/SMS oraz połączeń społecznościowych i firmowych.

Dla użytkowników bazy danych i użytkowników bezhasłowych przekształć sprawdzony eksport Auth0 w plik CSV i użyj FoxIDs Seed Tool, aby zbiorczo załadować użytkowników do FoxIDs. Poniższe przykłady CSV pokazują pola dla każdego sposobu migracji.

Przed przygotowaniem importu wybierz metodę dla każdej grupy:

Metoda Wymagania Pierwsze logowanie
Import skrótów bcrypt Eksport skrótów haseł Auth0 dopasowany do sprawdzonych danych użytkowników. Użytkownik podaje dotychczasowe hasło; FoxIDs stosuje swoją politykę haseł i wymagane MFA.
Import użytkowników w celu ustawienia hasła Sprawdzone dane użytkowników. Użytkownik potwierdza adres e-mail i wybiera hasło.
Migracja użytkowników bezhasłowych Sprawdzone dane użytkowników. Użytkownik loguje się kodem jednorazowym i zachowuje konto bez hasła.
Migracja logowania społecznościowego i firmowego Metoda uwierzytelniania FoxIDs skonfigurowana do zaufania każdemu zewnętrznemu dostawcy tożsamości. Użytkownik loguje się u dotychczasowego dostawcy.

Zaimportowani użytkownicy z hasłami i użytkownicy bezhasłowi uwierzytelniają się lokalnie w FoxIDs. Użytkownicy połączeń społecznościowych i firmowych uwierzytelniają się u podłączonego dostawcy tożsamości.

Przygotowanie środowiska docelowego i aplikacji

Osobne środowisko testowe pozwala wypróbować migrację na małej grupie użytkowników przed przejściem do produkcji. Kroki konfiguracji:

  1. Jeśli chcesz używać własnej domeny, skonfiguruj i zweryfikuj ją w dzierżawie przed konfiguracją aplikacji i zewnętrznych dostawców tożsamości. Używaj wynikowych adresów URL FoxIDs podczas całej migracji. Późniejsza zmiana domeny wymaga aktualizacji konfiguracji zewnętrznych, w tym adresów authority lub metadanych aplikacji oraz adresów zwrotnych i wylogowania dostawców.
  2. Każde środowisko ma domyślną metodę uwierzytelniania Login o nazwie login. Dostosuj jej wygląd i interfejs logowania do potrzeb oraz opcje logowania do importowanych użytkowników.
  3. Utwórz metody uwierzytelniania łączące użytkowników społecznościowych i firmowych z ich zewnętrznymi dostawcami tożsamości zgodnie z odpowiednią sekcją migracji poniżej.
  4. Skonfiguruj aplikację, dozwolone adresy przekierowania, działanie wylogowania oraz API akceptujące jej tokeny dostępu.

FoxIDs Cloud zapewnia dostarczanie wiadomości e-mail i SMS do ustawiania haseł, logowania bezhasłowego i uwierzytelniania wieloskładnikowego (MFA), zależnie od wybranego planu FoxIDs Cloud.

Skonfiguruj wymagane ustawienia MFA i sposób rejestracji użytkowników; opisane importy nie przenoszą rejestracji MFA z Auth0. Dla kont z hasłem sprawdź wymagania długości, złożoności i ważności hasła: import skrótu pomija walidację polityki haseł podczas importu, ale wybrana polityka obowiązuje przy logowaniu.

Konfiguracja aplikacji jest osobnym obszarem prac względem importu użytkowników. Sprawdź wystawcę, odbiorców, zakresy, oświadczenia i walidację tokenów oraz założenia Auth0 SDK, Actions, członkostwo w organizacjach i przypisania ról. Odtwórz działanie wymagane przez aplikację. Ogólny przewodnik migracji opisuje szerszą inwentaryzację aplikacji i etapy wdrożenia.

Eksport określonej grupy użytkowników Auth0

Postępuj zgodnie z instrukcjami zbiorczego eksportu użytkowników Auth0. Wybierz połączenie źródłowe jawnie przez connection_id; eksport API bez tego pola obejmuje wszystkie połączenia. Podczas konwersji zachowaj rozróżnienie użytkowników bazy danych, użytkowników bezhasłowych i federacyjnych.

Użyj eksportu zgodnego z JSON (NDJSON) jako źródła konwersji. Eksporty CSV Auth0 stosują dodatkowe sekwencje ucieczki, więc nie są gotowymi plikami wejściowymi FoxIDs Seed Tool. Mały eksport pozwala wypróbować konwersję do formatu CSV Seed Tool.

Uwzględnij user_id, blocked oraz identyfikatory i stan weryfikacji używane przez każde połączenie: email i email_verified lub phone_number i phone_verified dla użytkowników SMS. Dla kont społecznościowych, firmowych i powiązanych zachowaj dostawcę, połączenie i identyfikator użytkownika z identities do mapowania kont. Eksportuj tylko dane potrzebne po migracji i zachowaj przy eksporcie źródłową dzierżawę oraz połączenie. Przy wyborze pól skorzystaj ze schematu profilu użytkownika Auth0.

Uzyskanie skrótów przy zachowywaniu haseł

Poproś Auth0 Support o eksport skrótów haseł. Jest on oddzielny od eksportu danych użytkowników. Przewodnik eksportu skrótów haseł Auth0 opisuje rekordy NDJSON i pole passwordHash. Przykład $2b$10$... oznacza wariant bcrypt 2b i koszt 10.

Dopasuj każdy skrót do właściwego użytkownika za pomocą źródłowej dzierżawy, połączenia z bazą danych i identyfikatora użytkownika.

Mapowanie danych użytkowników i zachowanie kont aplikacji

FoxIDs tworzy własny trwały identyfikator dla importowanych użytkowników lokalnych. Import Auth0 user_id jako niestandardowego oświadczenia nie czyni go identyfikatorem użytkownika FoxIDs ani nie zachowuje automatycznie oświadczenia sub aplikacji. Przy logowaniu społecznościowym i firmowym sprawdź tożsamość otrzymaną bezpośrednio od dostawcy oraz podmiot przekazany aplikacji przez FoxIDs.

Aby zachować identyfikator użytkownika Auth0 jako sub aplikacji, zaimportuj go jako niestandardowe oświadczenie, np. legacy_auth0_user_id. W metodzie uwierzytelniania Login skonfiguruj transformację oświadczeń Map z akcją Replace claim, oświadczeniem wejściowym legacy_auth0_user_id i wyjściowym sub. Aplikacja otrzyma wtedy identyfikator użytkownika Auth0 jako sub, a trwały identyfikator użytkownika FoxIDs pozostanie niezmieniony.

Utrzymuj mapowanie między tożsamością źródłową, nową tożsamością FoxIDs i istniejącym kontem aplikacji. Na przykład stara tożsamość Auth0 i nowa tożsamość FoxIDs powinny podczas przejścia wskazywać ten sam rekord klienta, zamiast tworzyć dwa rekordy. Sprawdź rzeczywisty podmiot przekazywany każdej aplikacji i w razie potrzeby zaktualizuj mapowanie kont. Nie łącz kont wyłącznie na podstawie zgodnych adresów e-mail.

Dla importu użytkowników lokalnych zastosuj następujące mapowanie:

Informacja źródłowa Cel i decyzja
email Email. Sprawdź duplikaty po usunięciu otaczających białych znaków i zamianie na małe litery, w tym kolizje z istniejącymi użytkownikami FoxIDs.
email_verified EmailVerified. Zachowaj znany stan; nie oznaczaj wszystkich importowanych adresów jako zweryfikowanych.
phone_number Phone dla bezhasłowych użytkowników SMS. Zachowaj format międzynarodowy z numerem kierunkowym kraju i sprawdź duplikaty.
phone_verified PhoneVerified. Zachowaj znany stan weryfikacji.
blocked DisableAccount. Pozostaw wyłączone konta zablokowane lub objęte innymi ograniczeniami.
user_id, dzierżawa i połączenie Zachowaj w mapowaniu migracji z ograniczonym dostępem. Opcjonalnie zachowaj źródłowy identyfikator w niestandardowym oświadczeniu dla identyfikowalności.
Imiona, nazwiska i wymagane atrybuty użytkownika Jawnie mapuj na oświadczenia używane przez aplikacje. Nie kopiuj każdego pola metadanych.
Role i przypisania dostępu Odtwórz na podstawie zaufanych danych administracyjnych.

Migracja logowania społecznościowego i firmowego

Utwórz metodę uwierzytelniania FoxIDs dla każdego połączenia społecznościowego lub firmowego, ustanawiając bezpośrednie zaufanie do zewnętrznego dostawcy tożsamości. Użytkownicy zachowują u niego konta i dane logowania.

  1. Ustal dostawcę i konfigurację każdego połączenia Auth0. Skorzystaj z właściwego przewodnika integracji dostawcy, np. Google, Facebook lub Microsoft Entra ID, i wybierz obsługiwaną metodę uwierzytelniania OpenID Connect, SAML 2.0 lub WS-Federation.
  2. Zarejestruj lub skonfiguruj FoxIDs u dostawcy. Wymień ustawienia klienta lub metadane federacji i skonfiguruj adresy zwrotne oraz wylogowania podane w przewodniku integracji. Zachowaj konfigurację Auth0 na czas przejścia.
  3. Zezwól na nową metodę uwierzytelniania w aplikacji FoxIDs. Skonfiguruj Home Realm Discovery, aby użytkownicy mogli wybrać dostawcę lub byli do niego kierowani według skonfigurowanych reguł.
  4. Uzgodnij tożsamość dostawcy z istniejącym kontem aplikacji. Identyfikatory zwracane podczas testowego logowania można porównać z kontem źródłowym; identyfikator użytkownika Auth0 nie musi być identyfikatorem zwracanym bezpośrednio do FoxIDs. Jeśli potrzebujesz przechowywać w FoxIDs oświadczenia lub przypisania dostępu dla poszczególnych użytkowników, skonfiguruj i utwórz użytkowników zewnętrznych.
  5. Odtwórz ograniczenia wcześniej egzekwowane przez Auth0, w tym blokady użytkowników i dostęp do organizacji.

Oczekiwany przepływ to aplikacja → FoxIDs → zewnętrzny dostawca tożsamości → FoxIDs → aplikacja. FoxIDs wydaje tokeny aplikacji po uwierzytelnieniu użytkownika przez dostawcę.

Możesz wypróbować każde połączenie, rozpoczynając logowanie w aplikacji, wybierając dostawcę i kończąc jego przepływ logowania. Pozwala to obserwować MFA, konto i uprawnienia w aplikacji oraz działanie wylogowania.

Migracja użytkowników bezhasłowych

Zaimportuj użytkowników z bezhasłowych połączeń e-mail lub SMS Auth0 jako wewnętrznych użytkowników FoxIDs bez haseł. Skonfiguruj logowanie bezhasłowe, aby nadal logowali się kodem jednorazowym. Użytkownicy, którzy wcześniej otrzymywali magiczny link Auth0, zamiast tego wpisują kod jednorazowy na już otwartej stronie logowania. Dzięki temu nie muszą otwierać linków logowania z wiadomości e-mail ani SMS.

  1. Włącz e-mail lub telefon jako identyfikator logowania w metodzie uwierzytelniania FoxIDs Login i odpowiednio włącz Passwordless with email (one-time password) lub Passwordless with SMS (one-time password).
  2. Dla metody logowania przeznaczonej dla użytkowników bezhasłowych wybierz Disable password authentication i wyłącz ustawianie/resetowanie hasła przez e-mail i SMS. Pozostawia to przepływ logowania oparty na kodach jednorazowych.
  3. Zaimportuj użytkowników z pominięciem Password i wszystkich pól skrótu hasła. Pozostaw SetPasswordEmail, SetPasswordSms i ChangePassword jako false, aby użytkownicy nie musieli wybierać hasła. Zachowaj stan weryfikacji, stan wyłączenia i wymagane oświadczenia.

Aby wypróbować logowanie bezhasłowe, możesz rozpocząć logowanie adresem e-mail lub numerem telefonu zaimportowanego użytkownika testowego i wpisać otrzymany kod. Prawidłowy kod pozwala aktywnemu użytkownikowi przejść przez wymagane MFA do aplikacji; nieprawidłowe lub wygasłe kody i wyłączone konta nie dają dostępu.

Na przykład ten plik CSV Seed Tool importuje fikcyjnego użytkownika z bezhasłowym logowaniem e-mail:

Email;EmailVerified;SetPasswordEmail;SetPasswordSms;ChangePassword;DisableAccount
alice@example.com;true;false;false;false;false

Dla użytkowników SMS zastąp Email i EmailVerified polami Phone i PhoneVerified, używając sprawdzonego numeru telefonu i stanu weryfikacji. Obowiązuje ta sama procedura przesyłania. Po udanym logowaniu bezhasłowym użytkownik nadal nie ma hasła.

Import użytkowników ze skrótami haseł bcrypt

FoxIDs akceptuje pełne ciągi bcrypt z prefiksami $2a$, $2b$ lub $2y$ i kosztem od 4 do 16. Dla użytkowników ze skrótami spoza obsługiwanego formatu użyj ustawiania hasła przez e-mail.

Dla tych użytkowników włącz logowanie e-mail i uwierzytelnianie hasłem w metodzie uwierzytelniania FoxIDs Login.

Skopiuj każdą dopasowaną wartość Auth0 passwordHash do kolumny CSV PasswordHash i ustaw PasswordHashAlgorithm na bcrypt. Zachowaj cały ciąg skrótu, w tym wariant, koszt i wbudowaną sól. Jest już zakodowany dla bcrypt. Zobacz formaty skrótów haseł i kontrakt importu haseł Control API.

Dla Seed Tool użyj poniższych kolumn. To syntetyczne konto testowe; zastąp je sprawdzonym eksportem:

Email;EmailVerified;PasswordHashAlgorithm;PasswordHash;SetPasswordEmail;ChangePassword;DisableAccount
alice@example.com;true;bcrypt;$2b$10$..CA.uOD/eaGAOmJB.yMBu3YunYvFEoaS5IJZ/wiqfQ/EWx.HaqjC;false;false;false

Pomiń Password i PasswordHashSalt. Pozostaw SetPasswordEmail, SetPasswordSms i ChangePassword jako false, jeśli użytkownik ma zachować dotychczasowe hasło. Zachowaj stan wyłączenia, stan weryfikacji, oświadczenia i wymagania MFA ze sprawdzonego mapowania. Dodaj PasswordLastChanged, jeśli znasz pierwotny czas zmiany, w sekundach Unix; w przeciwnym razie FoxIDs zapisze czas importu do sprawdzania wieku hasła.

Ta sama procedura przesyłania dotyczy wszystkich importów użytkowników lokalnych. Zbiorcze aprowizowanie może zastąpić istniejące konto i dane logowania niezależnie od wybranego formatu hasła.

Dla zaimportowanego użytkownika testowego możesz wypróbować logowanie pierwotnym hasłem, a następnie hasłem nieprawidłowym. Pierwotne hasło uwierzytelnia użytkownika zgodnie ze skonfigurowaną polityką haseł i MFA; nieprawidłowe hasło lub wyłączone konto nie daje dostępu. Zmianę i odzyskiwanie hasła można również wypróbować przez skonfigurowany interfejs logowania.

Zaimportowany skrót pozostaje bcrypt po logowaniu. Hasło ustawione lub zmienione w FoxIDs jest zapisywane w domyślnym formacie PBKDF2 FoxIDs. Historia haseł nadal zapobiega ponownemu użyciu zgodnie z wybraną polityką, także gdy stary skrót bcrypt zostaje zachowany po zresetowaniu hasła.

Import użytkowników w celu ustawienia hasła

Użyj tej metody dla kont, które mają wybrać nowe hasło zamiast importować skrót. Włącz logowanie e-mail, uwierzytelnianie hasłem i ustawianie hasła przez e-mail w metodzie uwierzytelniania FoxIDs Login. Dla użytkowników, którzy mają pozostać bez hasła, skorzystaj z Migracji użytkowników bezhasłowych.

Migracja z ustawianiem hasła: wyeksportuj i sprawdź dane użytkowników Auth0, zaimportuj użytkowników bez haseł, a następnie pozwól im potwierdzić adres e-mail i ustawić hasło w FoxIDs przy pierwszym logowaniu.

Import użytkowników przygotowuje konta. Ustawienie hasła następuje, gdy użytkownik rozpoczyna logowanie, a nie podczas importu.

Przekształć sprawdzone rekordy w plik UTF-8 dla FoxIDs Seed Tool. Nagłówki rozróżniają wielkość liter, a separatorem jest średnik. Przykład zawiera fikcyjnych użytkowników z wcześniej zweryfikowanymi adresami e-mail; drugie konto pozostaje wyłączone:

Email;EmailVerified;SetPasswordEmail;DisableAccount;RequireMultiFactor;Claims
alice@example.com;true;true;false;true;"[{""Claim"":""legacy_auth0_user_id"",""Values"":[""auth0|demo-001""]}]"
blocked@example.com;true;true;true;true;"[{""Claim"":""legacy_auth0_user_id"",""Values"":[""auth0|demo-002""]}]"

SetPasswordEmail=true wybiera ustawienie hasła z potwierdzeniem przez e-mail. Pomiń Password i wszystkie kolumny skrótu hasła. Ten przepływ nie wymaga tymczasowego wspólnego hasła ani ChangePassword. RequireMultiFactor=true to polityka wybrana w przykładzie, wymagająca konfiguracji odpowiednich metod MFA.

Udostępniaj przykładowe oświadczenie legacy_auth0_user_id tylko aplikacjom, które go potrzebują, przez ich skonfigurowaną obsługę oświadczeń.

Przesłanie użytkowników i sprawdzenie wyniku

Użyj tej procedury dla użytkowników ze skrótami bcrypt, użytkowników bezhasłowych i użytkowników wybierających hasło przy pierwszym logowaniu, z polami odpowiednimi dla wybranej metody.

Seed Tool rozdziela pola średnikami; pola w cudzysłowach nie mogą zawierać średników ani podziałów wiersza. Użyj operacji użytkowników Control API, jeśli wartości wymagają bogatszej reprezentacji importu.

  1. Pobierz i skonfiguruj Seed Tool dla docelowego środowiska. Ustaw SeedSettings.UsersSvcPath na przekonwertowany plik CSV.
  2. Uruchom Seed Tool i wybierz U, aby zbiorczo przesłać użytkowników.
  3. Zapisz nowe identyfikatory użytkowników w mapowaniu migracji.

Możesz wypróbować przesyłanie z plikiem CSV zawierającym kilku użytkowników w środowisku testowym. Seed Tool podaje liczbę sukcesów i niepowodzeń. W FoxIDs Control można sprawdzić identyfikatory, stan wyłączenia, oświadczenia i flagi ustawiania hasła zaimportowanych użytkowników.

Seed Tool używa zbiorczego aprowizowania, które może zastąpić istniejących użytkowników zamiast bezpiecznie ich scalać. Sprawdź kolizje przed przesłaniem. Nie uruchamiaj ponownie całego pliku po ustawieniu haseł lub uzyskaniu dostępu przez użytkowników: zastąpienie może usunąć dane logowania i stan oraz utworzyć nowe identyfikatory użytkowników. Uzgodnij częściowo wykonany import przed ponowieniem; późniejsze zmiany obsługuj przez sprawdzone, ukierunkowane aktualizacje użytkowników.

Ustawienie hasła przy pierwszym logowaniu

Dla włączonego zaimportowanego użytkownika z SetPasswordEmail=true oczekiwany przepływ to:

  1. Użytkownik otwiera aplikację i rozpoczyna logowanie przez FoxIDs Login.
  2. FoxIDs rozpoznaje użytkownika na podstawie adresu e-mail i wysyła kod potwierdzający.
  3. Użytkownik przesyła kod i nowe hasło zgodne z polityką haseł FoxIDs.
  4. FoxIDs weryfikuje adres e-mail, zapisuje hasło i zeruje flagi ustawiania hasła. Logowanie przechodzi przez wymagane kroki MFA przed powrotem do aplikacji.

Import użytkownika nie wysyła wiadomości do ustawienia hasła. Kolejne logowania hasłem używają nowego hasła FoxIDs, nie poprzedniego hasła Auth0. Jeśli użytkownik nie może odebrać kodu, użyj zatwierdzonego procesu odzyskiwania weryfikującego tożsamość.

Możesz sprawdzić przepływ z użytkownikiem testowym, wykonując powyższe kroki logowania. Te scenariusze pokazują oczekiwane wyniki:

Scenariusz Oczekiwany wynik
Pierwsze i kolejne logowania E-mail dociera; ustawienie kończy się sukcesem przy prawidłowym kodzie i haśle zgodnym z polityką; kolejne logowanie nie powtarza ustawiania.
Nieprawidłowy lub wygasły kod Ustawienie hasła nie udaje się i nie przyznaje dostępu do aplikacji.
Zablokowane konto Ani ustawienie hasła, ani logowanie nie włącza konta.
Konto i uprawnienia Użytkownik uzyskuje dostęp do tego samego konta aplikacji i danych, z zamierzonym dostępem i bez dodatkowych uprawnień.
MFA, dostęp do API i wylogowanie Wymagane MFA jest egzekwowane; API akceptują właściwe tokeny i odrzucają nieprawidłowe; wylogowanie działa zgodnie z ustaleniami.

Wdrożenie i zachowanie możliwości wycofania

Migrację można wdrażać według aplikacji lub grup użytkowników. Użytkownicy mogą nadal korzystać ze zwykłego adresu aplikacji ze skonfigurowanym logowaniem: dotychczasowym hasłem, ustawieniem hasła, kodem jednorazowym lub istniejącym zewnętrznym dostawcą tożsamości.

Przed każdym importem produkcyjnym uzgodnij użytkowników utworzonych, zmienionych, zablokowanych lub usuniętych od czasu eksportu. Określ krótkie zamrożenie zmian lub inny kontrolowany proces uzgadniania. Nie nadpisuj już zmigrowanych użytkowników w celu zastosowania tych zmian.

Monitoruj dostarczanie e-maili i SMS, błędy ustawiania hasła, logowania i mapowania kont. Przy imporcie skrótów uwzględnij zmiany haseł w Auth0 po eksporcie, aby użytkownicy nie przychodzili z hasłem różniącym się od zaimportowanego skrótu. Wycofanie wymaga dostępności wcześniejszej konfiguracji Auth0. Możesz wypróbować jej przywrócenie dla aplikacji testowej, aby zobaczyć powrót do logowania Auth0.

Hasło ustawione w FoxIDs nie jest synchronizowane z powrotem do Auth0. Wycofanie korzysta więc z danych logowania nadal przechowywanych w Auth0. Określ, jak użytkownicy utworzeni tylko w FoxIDs uzyskają dostęp przez Auth0 w razie wycofania. Dla logowania bezhasłowego i federacyjnego zachowaj ustawienia dostarczania oraz połączenia dostawców Auth0 potrzebne do przywrócenia poprzedniego przepływu. Wyłącz starą integrację i usuń zachowane pliki eksportu dopiero po zaakceptowaniu dostępu do kont i wsparcia operacyjnego.