Wgrywanie wielu użytkowników

Provisioning użytkowników w środowisku jako użytkowników wewnętrznych, z hasłem lub bez:

  • Możesz wgrać użytkowników z hasłem, jeśli znasz hasła użytkowników.
  • W przeciwnym razie możesz wgrać użytkowników bez hasła, a użytkownicy zostaną poproszeni o ustawienie hasła za pomocą kodu potwierdzającego e-mail lub SMS. Wymagaj, aby użytkownicy mieli adres e-mail lub numer telefonu.

Użytkownicy są wgrywani masowo do środowiska z limitem do 1 000 użytkowników na żądanie, gdy użytkownicy są tworzeni bez haseł, oraz do 100 użytkowników na żądanie, gdy hasła są dołączone. Obsługuje to wiele wgrywań, umożliwiając import milionów użytkowników. Możesz użyć bezpośrednio FoxIDs Control API lub skorzystać z seed tool.

Przykładowy czas wgrywania dla 50 000 użytkowników

Scenariusz Użytkownicy Rozmiar partii Przybliżony czas
Bez haseł 50 000 1 000 ~2 minuty
Z hasłami 50 000 100 ~2 godziny
Hashe haseł wyliczone po stronie klienta 50 000 1 000 ~5 minut

Czasy są przybliżone i zależą od komputera klienta, sieci i infrastruktury.

Wgrywanie użytkowników z hasłami trwa dłużej, ponieważ dla każdego użytkownika trzeba obliczyć hash hasła, a ta operacja jest celowo czasochłonna ze względów bezpieczeństwa. Czas wgrywania można skrócić, obliczając hashe haseł po stronie klienta przed wgraniem użytkowników.

Wgrywanie za pomocą seed tool

Seed tool odczytuje użytkowników z pliku CSV i wgrywa ich do skonfigurowanego środowiska. Seed tool obsługuje też masowe usuwanie użytkowników.

Domyślnie seed tool wstępnie oblicza hashe haseł po stronie klienta podczas wgrywania, aby zmniejszyć czas przetwarzania po stronie serwera.

Plik CSV

Elementy pliku CSV są rozdzielone znakiem ;, a tekst może być opcjonalnie ujęty w cudzysłów.

Przykładowe pliki CSV znajdziesz tutaj. (Na przykład zobacz znaki UTF-8 w oświadczeniach w pliku password-claims-3-test-users.csv, demonstrujące obsługę wielu języków / znaków rozszerzonych.)

Pierwszy wiersz pliku CSV to nagłówki wrażliwe na wielkość liter. Możesz wybrać wszystkie nagłówki lub ich podzbiór i zmienić kolejność nagłówków. Nagłówki:

  • Email
  • Phone
  • Username
  • ConfirmAccount
  • EmailVerified
  • PhoneVerified
  • Password
  • PasswordHashAlgorithm
  • PasswordHash
  • PasswordHashSalt
  • ChangePassword
  • PasswordLastChanged
  • SetPasswordEmail
  • SetPasswordSms
  • DisableAccount
  • Claims
  • RequireMultiFactor

Liczba nagłówków i elementów w każdej linii musi się zgadzać.

Ten przykładowy plik CSV używa nagłówków Email i SetPasswordEmail, aby wgrać użytkowników bez haseł. Użytkownik musi ustawić hasło z potwierdzeniem e-mail przy pierwszym logowaniu. Adres e-mail jest następnie oznaczany jako zweryfikowany.

Email;SetPasswordEmail
u1@somedomain.test;true
u2@somedomain.test;true
u3@somedomain.test;true

Ten przykładowy plik CSV zawiera nazwę użytkownika i oznacza e-mail oraz numer telefonu jako zweryfikowane. Hasła są ustawiane z kodem potwierdzenia e-mail lub SMS.

Email;Phone;Username;EmailVerified;PhoneVerified;SetPasswordEmail;SetPasswordSms
u1@somedomain.test;;u1;true;true;true;false
;+4422222222;u2;true;true;false;true
u3@somedomain.test;+4433333333;u3;true;true;true;false

Ten przykładowy plik CSV używa wszystkich nagłówków i wgrywa użytkowników z hasłami i oświadczeniami. Ostatni użytkownik jest wgrywany jako wyłączony.

Email;Phone;Username;ConfirmAccount;EmailVerified;PhoneVerified;Password;ChangePassword;SetPasswordEmail;SetPasswordSms;DisableAccount;Claims;RequireMultiFactor
u1@somedomain.test;+4411111111;u1;false;true;true;"My1Password!";false;false;false;false;"[{""Claim"": ""role"", ""Values"": [""admin""]}]";false
u2@somedomain.test;+4422222222;u2;false;true;true;"My2Password!";true;false;false;false;"[{""Claim"": ""role"", ""Values"": [""admin""]}, {""Claim"": ""customer_id"", ""Values"": [""1234""]}]";true
u3@somedomain.test;+4433333333;u3;false;true;true;"My3Password!";false;false;false;true;"[{""Claim"": ""role"", ""Values"": [""admin"", ""user""]}]";false

Jeśli wstępnie obliczasz hashe haseł po stronie klienta, użyj kolumn PasswordHashAlgorithm, PasswordHash i PasswordHashSalt i pozostaw Password puste (lub usuń). Opcjonalnie możesz zachować oryginalny znacznik czasu zmiany hasła w PasswordLastChanged (sekundy Unix). Gdy hasło lub hash jest podany bez PasswordLastChanged, podczas wgrywania ustawiany jest bieżący czas.

Hasła i oświadczenia należy dodawać z notacją ;"";. Jeśli hasło zawiera znak ", jest on escapowany, np. hasło My"Password staje się ;"My""Password";.

Oświadczenia są dodawane jako struktura JSON bez podziałów wierszy, a znaki " są escapowane.

[
  { "Claim": "role", "Values": ["admin", "user"] },
  { "Claim": "customer_id", "Values": ["1234"] }
]

Pobierz i skonfiguruj seed tool

Najpierw pobierz plik FoxIDs.SeedTool-x.x.x-win-x64.zip dla Windows lub FoxIDs.SeedTool-x.x.x-linux-x64.zip dla Linux z wydania FoxIDs i rozpakuj seed tool.

Seed tool jest konfigurowany w pliku appsettings.json.

Dostęp do wgrywania użytkowników jest nadawany w Twoim środowisku master.

Utwórz klienta OAuth 2.0 seed tool w FoxIDs Control Client:

To przyzna seed tool pełny dostęp do Twojego tenanta; dla minimalnych uprawnień zobacz API access rights.

  1. Zaloguj się do swojego tenanta (w self-hosted: główny tenant)
  2. Wybierz środowisko master (w górnym selektorze środowiska)
  3. Wybierz kartę Applications
  4. Kliknij New Application
  5. Kliknij Backend Application
    1. Wybierz Show advanced
    2. Dodaj Name np. Seed tool
    3. Zmień Client ID na foxids_seed
    4. Kliknij Register
    5. Zapamiętaj Authority.
    6. Zapamiętaj Client secret.
    7. Kliknij Close
  6. Kliknij aplikację na liście, aby ją otworzyć
  7. W sekcji Resource and scopes
    1. Usuń zaznaczenie z Default resource 'foxids_seed' for the application itself
    2. Kliknij Add Resource and scope i dodaj zasób foxids_control_api
    3. Następnie kliknij Add Scope i dodaj zakres foxids:tenant
  8. Wybierz Show advanced
  9. W sekcji Issue claims
    1. Kliknij Add Claim i dodaj oświadczenie role
    2. Następnie kliknij Add Value i dodaj wartość oświadczenia foxids:tenant
  10. Kliknij Update

FoxIDs Control Client - klient seed tool

Dodaj endpoint FoxIDs Control API oraz tenant i environment, a także Authority, Client secret oraz ścieżkę pliku CSV do konfiguracji seed tool.

"SeedSettings": {
    "FoxIDsControlEndpoint": "https://control.foxids.com", // self-hosted "https://control.yyyyxxxx.com" or local development https://localhost:44331
    "Tenant": "xxxxxx",
    "Environment": "xxxxxx",
    "Authority": "https://id.foxids.com/zzzzz/master/foxids_seed/", // custom domain, self-hosted or local development "https://https://localhost:44331/zzzzz/master/foxids_seed/"
    "ClientId": "foxids_master_seed",
    "ClientSecret": "xxxxxx",
    "Scope": "foxids_control_api:foxids:tenant",
    "UsersSvcPath": "c:\\... xxx ...\\users.csv"
}

Uruchom seed tool i wgraj użytkowników

  1. Uruchom Wiersz polecenia
  2. Uruchom seed tool poleceniem SeedTool.exe
  3. Wciśnij U, aby rozpocząć wgrywanie użytkowników

Wgrywanie może potrwać, zależnie od liczby użytkowników.

Twoja prywatność

Używamy plików cookie, aby poprawić korzystanie z naszych stron internetowych. Kliknij przycisk „Akceptuj wszystkie pliki cookie”, aby wyrazić zgodę na ich użycie. Aby zrezygnować z nieistotnych plików cookie, kliknij „Tylko niezbędne pliki cookie”.

Odwiedź naszą politykę prywatności, aby dowiedzieć się więcej