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

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
- Uruchom Wiersz polecenia
- Uruchom seed tool poleceniem
SeedTool.exe - Wciśnij
U, aby rozpocząć wgrywanie użytkowników
Wgrywanie może potrwać, zależnie od liczby użytkowników.