Last opp mange brukere
Bruk FoxIDs Seed Tool til å laste brukere fra en CSV-fil inn i et FoxIDs miljø som interne brukere. Hver bruker kan lastes opp med:
- Intet passord, for passordfri pålogging med en engangskode via e-post eller SMS.
- Intet passord og et krav om å velge et ved første pålogging, bekreftet via e-post eller SMS.
- Et kjent klartekstpassord som Seed Tool som standard hasher før opplasting.
- En forhåndsberegnet FoxIDs passordhash med separat salt.
- En Auth0 bcrypt passordhash som lar brukeren beholde eksisterende passord.
Control API godtar opptil 1 000 brukere per forespørsel, hvorav høyst 100 kan inneholde klartekstpassord. Forhåndsberegnede hasher teller mot grensen på 1 000 brukere. Seed Tool bruker grupper på opptil 1 000 brukere med standard hashing på klientsiden. Større filer lastes opp i flere grupper. Du kan også bruke Control APIs brukeroperasjoner direkte.
Eksempel opplastingstid for 50.000 brukere
| Scenario | Brukere | Batch størrelse | Ca. total tid |
|---|---|---|---|
| Uten passord | 50.000 | 1.000 | ~2 minutter |
| Med passord | 50.000 | 100 | ~2 timer |
| Passord hashes forhåndsberegnet på klient | 50.000 | 1.000 | ~5 minutter |
Tider er omtrentlige og avhenger av klientmaskin, nettverk og infrastruktur.
Opplasting av brukere med passord tar lengre tid fordi en password hash må beregnes for hver bruker, og denne operasjonen er med vilje tidskrevende av sikkerhetshensyn. Opplastingstid kan forbedres ved å beregne password hashes på klienten før opplasting av brukerne.
Last opp med seed tool
Seed Tool i tools/FoxIDs.SeedTool leser en CSV-fil og masselaster brukerne opp til det konfigurerte FoxIDs miljøet gjennom Control API. Angi filbanen i SeedSettings.UsersSvcPath og velg U for å laste opp. Verktøyet støtter også massesletting av brukere.
Som standard forhåndsberegner Seed Tool passordhasher for klartekstpassord før opplasting. Oppgitte FoxIDs eller bcrypt hasher lastes opp uendret når
Passworder tomt eller utelatt.
CSV fil
Lagre CSV-filen som UTF-8 med felt atskilt av ;. Tekst kan eventuelt stå i anførselstegn. Parseren deler ved semikolon, så felt kan ikke inneholde semikolon eller linjeskift, heller ikke inne i anførselstegn.
Du kan finne eksempel CSV filer her. (For eksempel se UTF 8 tegn i claims i filen password-claims-3-test-users.csv som demonstrerer multi language / extended character support.)
Første linje i CSV filen er case sensitive headers. Du kan velge å bruke alle headers eller et subset av headers og endre rekkefølgen på headers. Headers:
- Phone
- Username
- ConfirmAccount
- EmailVerified
- PhoneVerified
- Password
- PasswordHashAlgorithm
- PasswordHash
- PasswordHashSalt
- ChangePassword
- PasswordLastChanged
- SetPasswordEmail
- SetPasswordSms
- DisableAccount
- Claims
- RequireMultiFactor
Antall headers og elementer i hver linje må matche.
Dette eksemplet laster opp en passordfri bruker. Utelat Password og alle passordhashkolonner, og la SetPasswordEmail og SetPasswordSms være false. Aktiver passordfri pålogging med tilsvarende e-post- eller SMS-leverandør. Bevar hver brukers kjente verifiseringsstatus.
Email;EmailVerified;SetPasswordEmail;SetPasswordSms
passwordless@example.com;true;false;false
Dette CSV-eksemplet bruker kolonneoverskriftene Email og SetPasswordEmail til å laste opp brukere som må velge et passord med e-postbekreftelse ved første pålogging.
E post blir deretter markert som verifisert.
Email;SetPasswordEmail
u1@somedomain.test;true
u2@somedomain.test;true
u3@somedomain.test;true
Dette CSV-eksemplet inkluderer et brukernavn og markerer oppgitt e-postadresse og telefonnummer som verifisert. Passordene angis med en bekreftelseskode via e-post eller 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
Dette CSV-eksemplet laster opp brukere med klartekstpassord og claims. Den siste brukeren lastes opp som deaktivert.
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 oppgir forhåndsberegnede passordhasher, bruker du kolonnene PasswordHashAlgorithm og PasswordHash og lar Password være tomt (eller fjerner det). Ta med PasswordHashSalt for P2HS512:10; utelat det for bcrypt, der hele hashstrengen inkluderer saltet. Se støttede passordimportformater. Du kan eventuelt bevare opprinnelig tidspunkt for passordendring med PasswordLastChanged (Unix-sekunder). Når et passord eller en hash oppgis uten PasswordLastChanged, registrerer opplastingen gjeldende tidspunkt.
Du bør legge til passord og claims med ;""; notasjonen. Hvis et passord inneholder " symbolet blir det escaped, for eksempel passordet My"Password som blir ;"My""Password";
Claims legges til med en JSON struktur uten linjeskift og " symbolene escapes.
[
{ "Claim": "role", "Values": ["admin", "user"] },
{ "Claim": "customer_id", "Values": ["1234"] }
]
Importer Auth0 bcrypt passordhasher
Konverter gjennomgåtte brukerdata fra Auth0 og tilhørende passordhasher til Seed Tools CSV-format. Legg hver fullstendige Auth0 passwordHash-verdi i PasswordHash, og sett PasswordHashAlgorithm til bcrypt. Utelat Password og PasswordHashSalt; bcrypt inkluderer saltet i hashstrengen.
Denne syntetiske testkontoen bruker for eksempel Auth0s format $2b$10$:
Email;EmailVerified;PasswordHashAlgorithm;PasswordHash;SetPasswordEmail;SetPasswordSms;ChangePassword;DisableAccount
auth0.alice@example.com;true;bcrypt;$2b$10$..CA.uOD/eaGAOmJB.yMBu3YunYvFEoaS5IJZ/wiqfQ/EWx.HaqjC;false;false;false;false
Kildekodelageret inkluderer tools/FoxIDs.SeedTool/user_upload_csv_files/auth0-bcrypt-3-test-users.csv med syntetiske hasher med kostnad 10 og 12, hashfelt med og uten anførselstegn og en deaktivert konto. Testhashene bruker passordet QAZ!234wsx. Erstatt eksempeldataene med dine gjennomgåtte brukere og deres egne hasher før migreringen.
Sett UsersSvcPath til den konverterte CSV-filen, og kjør Seed Tool og velg U. La flaggene for passordoppsett og passordendring være false når brukerne skal beholde eksisterende passord, og aktiver passordpålogging på Login-autentiseringsmetoden. Du kan prøve importen i et testmiljø og logge på med en importert brukers opprinnelige passord.
Se Migrer fra Auth0 til FoxIDs for eksport, kobling av passordhasher til brukere, støttede hashformater og kontotilordning.
Last ned og konfigurer seed tool
Last først ned FoxIDs.SeedTool-x.x.x-win-x64.zip for Windows eller FoxIDs.SeedTool-x.x.x-linux-x64.zip for Linux fra FoxIDs release og pakk ut seed tool.
Seed tool konfigureres i appsettings.json filen.
Tilgang til å laste opp brukere gis i ditt master miljø.
Opprett en seed tool OAuth 2.0 klient i FoxIDs Control Client:
Dette vil gi seed tool full tilgang til din tenant, for least privileges se Control API-tilgangsrettigheter.
- Logg inn i din tenant (i self hosted den primære tenant)
- Velg master miljøet (i topp midt miljøvelgeren)
- Velg Applications fanen
- Klikk New Application
- Klikk Backend Application
- Velg Show advanced
- Legg til et Name f.eks.
Seed tool - Endre Client ID til
foxids_seed - Klikk Register
- Husk Authority.
- Husk Client secret.
- Klikk Close
- Klikk på applikasjonen i listen for å åpne den
- I seksjonen Resource and scopes
- Fjern hake fra Default resource 'foxids_seed' for the application itself
- Klikk Add Resource and scope og legg til resource
foxids_control_api - Klikk deretter Add Scope og legg til scope
foxids:tenant
- Velg Show advanced
- I seksjonen Issue claims
- Klikk Add Claim og legg til claim
role - Klikk deretter Add Value og legg til claim verdien
foxids:tenant
- Klikk Add Claim og legg til claim
- Klikk Update

Legg til FoxIDs Control API endpoint og tenant og environment samt seed tool Authority og Client secret og CSV fil sti i seed tool konfigurasjonen.
"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"
}
Kjør seed tool og last opp brukerne
- Start en Command Prompt
- Kjør seed tool med
SeedTool.exe - Klikk
Ufor å starte opplasting av brukere
Opplastingen kan ta en stund avhengig av antall brukere.
Seed Tool rapporterer antall vellykkede og mislykkede operasjoner, og de importerte brukerne er tilgjengelige i FoxIDs Control. Du kan prøve en opplasting med en liten CSV-fil i et testmiljø og undersøke brukerne der. Masseopplasting kan erstatte eksisterende brukere og påloggingsopplysningene deres; kontroller identifikatorkollisjoner før opplasting, og avstem eventuell delvis opplasting før du prøver igjen.