Manually add and edit users
Manage users
When you import users in bulk from a file, Kinde checks to see if there are errors that will prevent a new user record from being created or updated.
Common errors include:
You can view the error log immediately after you import to review any errors.
After the import, you have the option to view the error list. This will tell you which items are in error.
If you find any errors you cannot resolve, contact our support team.
The best appraoch is to fix errors in the file and then import the users again. For JSON format imports, we recommend using a JSON validator tool to check for errors.
When importing passwords, Kinde will look for a user matching the ID or email address in the user details file. We will let you know if a match is not found, if the hashing algorithm is not supported, or related columns are incorrect.
Users whose passwords cannot be imported will be prompted to reset their password once you switch on the connection.
If you’re importing firebase-scrypt passwords, each of the four Firebase hash parameters is validated per row:
INVALID_SIGNER_KEY) — the signer_key column is missing or is not valid base64. Copy the signer key exactly as shown in your Firebase project’s password hash parameters.INVALID_SALT_SEPARATOR) — the salt_separator column is missing or is not valid base64. This is usually the short value Bw==.INVALID_ROUNDS) — the rounds column is missing or outside the range 1–16.INVALID_MEM_COST) — the mem_cost column is missing or outside the range 1–20.These four values come from the Firebase console: Authentication > Users > ⋮ > Password hash parameters. They are project-wide, so the fix usually applies to every failed row at once. Correct the values in your file and re-import.
When you use the ASP.NET Identity import type or the aspnet-identity-v2 hashing
method, a password validation error prevents the entire row from being imported. Fix the
file and re-import the row.
PasswordHash for the ASP.NET Identity import type, or hashed_password
for Custom CSV. V2 hashes are 68 base64 characters and decode to 49 bytes. ASP.NET Core
Identity v3 hashes are longer and typically start with AQAAAA; Kinde cannot verify
them. A value can also become invalid if it is truncated or reformatted in a
spreadsheet. To import the user without a password, clear the applicable password-hash
field. They can then set a password when they first sign in.salt, salt_position,
iterations, or variant with aspnet-identity-v2. These values are embedded in the
hash, so clear the corresponding fields.If the whole import fails before rows are processed, check the file encoding. Kinde accepts CSV and NDJSON files encoded as UTF-8 or UTF-16 with a byte order mark (BOM). Other encodings, including Windows-1252 and Latin-1, are rejected to prevent corrupted names and email addresses.
Re-save the file as UTF-8 or BOM-marked UTF-16 and import it again. In SQL Server
Management Studio, choose one of those encodings when saving the results. With bcp, use
-w for UTF-16 or -c -C 65001 for UTF-8.
If there are a lot of errors, you may need to go back to your old auth provider to get a new file.
Organizations, roles, and permissions need to exist in Kinde before you bring these details in as part of a user import.
If an organization match is not found in Kinde, the user will be added to the default organization. To correct this, you may need to add them to others manually, or re-import.
Similarly, if the role or permission key does not exist in Kinde exactly the way you referenced in the CSV, then the user might not be assigned the role or permission.