Viele Benutzer hochladen

Provisionierung deiner Benutzer in einem Environment als internal users, mit oder ohne Passwort:

  • Du kannst die Benutzer mit ihren Passwörtern hochladen, wenn du die Passwörter der Benutzer kennst.
  • Andernfalls kannst du die Benutzer ohne Passwort hochladen und die Benutzer werden aufgefordert, ein Passwort mit einem E Mail oder SMS Bestätigungscode zu setzen. Erfordert, dass die Benutzer entweder eine E Mail oder eine Telefonnummer haben.

Die Benutzer werden in Bulk in ein Environment hochgeladen, mit bis zu 1.000 Benutzern pro Request, wenn die Benutzer ohne Passwörter erstellt werden, und bis zu 100 Benutzer pro Request, wenn Passwörter enthalten sind. Dies unterstützt mehrere Uploads und erlaubt den Import von Millionen Benutzern. Du kannst entweder die FoxIDs Control API direkt verwenden oder das Seed Tool nutzen.

Beispiel Upload Zeit für 50.000 Benutzer

Szenario Benutzer Batch Größe Ca. Gesamtzeit
Ohne Passwörter 50.000 1.000 ~2 Minuten
Mit Passwörtern 50.000 100 ~2 Stunden
Passwort Hashes vorab auf Client berechnet 50.000 1.000 ~5 Minuten

Zeiten sind ungefähr und hängen von Client Maschine, Netzwerk und Infrastruktur ab.

Das Hochladen von Benutzern mit Passwörtern dauert länger, weil für jeden Benutzer ein Password Hash berechnet werden muss, und dieser Vorgang ist aus Sicherheitsgründen absichtlich zeitaufwendig.
Die Upload Zeit kann verbessert werden, indem die Passwort Hashes auf dem Client vor dem Upload berechnet werden.

Upload mit Seed Tool

Das Seed Tool liest Benutzer aus einer CSV Datei und lädt die Benutzer in das konfigurierte Environment hoch. Das Seed Tool unterstützt auch das Bulk Löschen von Benutzern.

Standardmäßig berechnet das Seed Tool Password Hashes auf dem Client während des Uploads vor, um die Server Verarbeitungszeit zu reduzieren.

CSV Datei

Die CSV Datei Elemente sind durch ; getrennt und der Text kann optional in Anführungszeichen stehen.

Du kannst Beispiel-CSV-Dateien hier finden.
(Zum Beispiel siehe UTF 8 Zeichen in Claims in der Datei password-claims-3-test-users.csv, die Mehrsprachigkeit / erweiterte Zeichenunterstützung demonstriert.)

Die erste Zeile der CSV Datei sind die case sensitive Headers. Du kannst alle Headers oder eine Teilmenge verwenden und die Reihenfolge der Headers ändern.
Headers:

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

Die Anzahl der Headers und Elemente in jeder Zeile muss übereinstimmen.

Dieses CSV Beispiel verwendet die Email und SetPasswordEmail Headers, um Benutzer ohne Passwörter hochzuladen. Der Benutzer muss beim ersten Login ein Passwort mit E Mail Bestätigung setzen. Die E Mail wird danach als verifiziert markiert.

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

Dieses CSV Beispiel enthält einen Benutzernamen und setzt E Mail und Telefonnummer als verifiziert. Die Passwörter werden mit einem E Mail oder SMS Bestätigungscode gesetzt.

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

Dieses CSV Beispiel verwendet alle Headers und lädt Benutzer mit Passwörtern und Claims hoch. Der letzte Benutzer wird als deaktivierter Benutzer hochgeladen.

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

Wenn du Password Hashes auf dem Client vorab berechnest, verwende die Spalten PasswordHashAlgorithm, PasswordHash und PasswordHashSalt und lasse Password leer (oder entferne es). Optional kannst du den ursprünglichen Password Change Timestamp mit PasswordLastChanged (Unix Sekunden) beibehalten. Wenn ein Passwort oder Hash ohne PasswordLastChanged bereitgestellt wird, setzt der Upload die aktuelle Zeit.

Du solltest Passwörter und Claims mit der ;""; Notation hinzufügen. Wenn ein Passwort das " Symbol enthält, wird es escaped, z.B. das Passwort My"Password, das zu ;"My""Password"; wird

Claims werden mit einer JSON Struktur ohne Zeilenumbrüche hinzugefügt und die " Symbole werden escaped.

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

Seed Tool herunterladen und konfigurieren

Lade zuerst die Datei FoxIDs.SeedTool-x.x.x-win-x64.zip für Windows oder FoxIDs.SeedTool-x.x.x-linux-x64.zip für Linux aus den FoxIDs release herunter und entpacke das Seed Tool.

Das Seed Tool wird in der Datei appsettings.json konfiguriert.

Der Zugriff zum Hochladen von Benutzern wird in deinem master Environment gewährt.

Erstelle einen Seed Tool OAuth 2.0 Client im FoxIDs Control Client:

Damit erhält das Seed Tool vollen Zugriff auf deinen Tenant. Für least privileges siehe API access rights.

  1. Melde dich in deinem Tenant an (bei self hosted im Haupt Tenant)
  2. Wähle das master Environment (im oberen mittleren Environment Selector)
  3. Wähle die Registerkarte Applications
  4. Klicke New Application
  5. Klicke Backend Application
    1. Wähle Show advanced
    2. Füge einen Name hinzu, z.B. Seed tool
    3. Ändere die Client ID auf foxids_seed
    4. Klicke Register
    5. Merke dir die Authority.
    6. Merke dir das Client secret.
    7. Klicke Close
  6. Klicke auf die Anwendung in der Liste, um sie zu öffnen
  7. Im Abschnitt Resource and scopes
    1. Entferne das Häkchen bei Default resource 'foxids_seed' for the application itself
    2. Klicke Add Resource and scope und füge die Resource foxids_control_api hinzu
    3. Klicke dann Add Scope und füge den Scope foxids:tenant hinzu
  8. Wähle Show advanced
  9. Im Abschnitt Issue claims
    1. Klicke Add Claim und füge den Claim role hinzu
    2. Klicke dann Add Value und füge den Claim Wert foxids:tenant hinzu
  10. Klicke Update

FoxIDs Control Client - master seed tool client

Füge deinen FoxIDs Control API Endpoint und tenant und environment sowie die Authority und das Client secret des Seed Tools und den CSV Datei Pfad zur Seed Tool Konfiguration hinzu.

"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"
}

Seed Tool ausführen und Benutzer hochladen

  1. Starte eine Command Prompt
  2. Starte das Seed Tool mit SeedTool.exe
  3. Klicke U, um den Upload der Benutzer zu starten

Der Upload kann je nach Benutzeranzahl eine Weile dauern.

Ihre Privatsphäre

Wir verwenden Cookies, um Ihre Erfahrung auf unseren Websites zu verbessern. Klicken Sie auf 'Alle Cookies akzeptieren', um der Verwendung von Cookies zuzustimmen. Um nicht notwendige Cookies abzulehnen, klicken Sie auf 'Nur notwendige Cookies'.

Weitere Informationen finden Sie in unserer Datenschutzerklärung