Upload mange brugere
Provisionering af dine brugere i et miljø som internal users, med eller uden en adgangskode:
- Du kan uploade brugerne med deres adgangskode, hvis du kender brugernes adgangskoder.
- Ellers kan du uploade brugerne uden en adgangskode og brugerne bliver derefter bedt om at sætte en adgangskode med en e mail eller SMS bekræftelseskode. Kræv at brugerne har enten en e mail eller et telefonnummer.
Brugerne uploades i bulk til et miljø med op til 1.000 brugere pr. request når brugerne oprettes uden adgangskoder, og op til 100 brugere pr. request når adgangskoder er inkluderet. Dette understøtter flere uploads og tillader millioner af brugere at blive importeret. Du kan enten bruge FoxIDs Control API direkte eller bruge seed tool.
Eksempel upload tid for 50.000 brugere
| Scenarie | Brugere | Batch størrelse | Ca. samlet tid |
|---|---|---|---|
| Uden adgangskoder | 50.000 | 1.000 | ~2 minutter |
| Med adgangskoder | 50.000 | 100 | ~2 timer |
| Adgangskode hashes forudberegnet på klient | 50.000 | 1.000 | ~5 minutter |
Tiderne er omtrentlige og afhænger af klientmaskine, netværk og infrastruktur.
Upload af brugere med adgangskoder tager længere tid fordi en password hash skal beregnes for hver bruger, og denne operation er med vilje tidskrævende af sikkerhedshensyn.
Upload tid kan forbedres ved at beregne password hashes på klienten før upload af brugerne.
Upload med seed tool
Seed tool læser brugere fra en CSV fil og uploader brugerne til det konfigurerede miljø. Seed tool understøtter også bulk sletning af brugere.
Som standard forudberegner seed tool password hashes på klienten under upload for at reducere server behandlingstid.
CSV fil
CSV filens elementer er adskilt med ; og teksten kan valgfrit være i anførselstegn.
Du kan finde eksempel CSV filer her.
(For eksempel se UTF 8 tegn i claims i filen password-claims-3-test-users.csv der demonstrerer multi language / extended character support.)
Den første linje i CSV filen er case sensitive headers. Du kan vælge at bruge alle headers eller et subset af headers og ændre rækkefølgen på headers.
Headers:
- Phone
- Username
- ConfirmAccount
- EmailVerified
- PhoneVerified
- Password
- PasswordHashAlgorithm
- PasswordHash
- PasswordHashSalt
- ChangePassword
- PasswordLastChanged
- SetPasswordEmail
- SetPasswordSms
- DisableAccount
- Claims
- RequireMultiFactor
Antallet af headers og elementer i hver linje skal matche.
Denne CSV fil sample bruger Email og SetPasswordEmail headers til at uploade brugere uden adgangskoder. Brugeren skal sætte en adgangskode med email bekræftelse ved første login.
Email bliver derefter markeret som verificeret.
Email;SetPasswordEmail
u1@somedomain.test;true
u2@somedomain.test;true
u3@somedomain.test;true
Denne CSV fil sample inkluderer et brugernavn og sætter email og telefonnummer som verificeret. Adgangskoderne sættes med en email eller SMS bekræftelseskode.
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
Denne CSV fil sample bruger alle headers og uploader brugere med adgangskoder og claims. Den sidste bruger uploades som en deaktiveret bruger.
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
Hvis du forudberegner password hashes på klienten, brug PasswordHashAlgorithm, PasswordHash og PasswordHashSalt kolonnerne og lad Password være tom (eller fjern). Du kan valgfrit bevare den oprindelige password change timestamp med PasswordLastChanged (Unix sekunder). Når en adgangskode eller hash leveres uden PasswordLastChanged, sætter uploaden den aktuelle tid.
Du bør tilføje adgangskoder og claims med ;""; notationen. Hvis en adgangskode indeholder " symbolet bliver det escaped, for eksempel adgangskoden My"Password som bliver ;"My""Password";
Claims tilføjes med en JSON struktur uden linjeskift og " symbolerne escapes.
[
{ "Claim": "role", "Values": ["admin", "user"] },
{ "Claim": "customer_id", "Values": ["1234"] }
]
Download og konfigurer seed tool
Download først filen FoxIDs.SeedTool-x.x.x-win-x64.zip til Windows eller FoxIDs.SeedTool-x.x.x-linux-x64.zip til Linux fra FoxIDs release og pak seed tool ud.
Seed tool konfigureres i appsettings.json filen.
Adgang til at uploade brugere gives i dit master miljø.
Opret en seed tool OAuth 2.0 klient i FoxIDs Control Client:
Dette giver seed tool fuld adgang til din tenant, for least privileges se API access rights.
- Login på din tenant (i self hosted den primære tenant)
- Vælg master miljøet (i top midt miljø selector)
- Vælg fanen Applications
- Klik New Application
- Klik Backend Application
- Vælg Show advanced
- Tilføj et Name f.eks.
Seed tool - Ændr Client ID til
foxids_seed - Klik Register
- Husk Authority.
- Husk Client secret.
- Klik Close
- Klik på applikationen i listen for at åbne den
- I sektionen Resource and scopes
- Fjern fluebenet fra Default resource 'foxids_seed' for the application itself
- Klik Add Resource and scope og tilføj resource
foxids_control_api - Klik derefter Add Scope og tilføj scope
foxids:tenant
- Vælg Show advanced
- I sektionen Issue claims
- Klik Add Claim og tilføj claim
role - Klik derefter Add Value og tilføj claim værdien
foxids:tenant
- Klik Add Claim og tilføj claim
- Klik Update

Tilføj din FoxIDs Control API endpoint og tenant og environment samt seed tool Authority og Client secret og CSV fil sti til seed tool konfigurationen.
"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"
}
Kør seed tool og upload brugerne
- Start en Command Prompt
- Kør seed tool med
SeedTool.exe - Klik
Ufor at starte upload af brugere
Upload kan tage et stykke tid afhængigt af antallet af brugere.