Username (ID)
Last updated
Last updated
The username (ID) is considered a factor as well, though it will mostly serve for identifying a user as a first-step in order to continue the authentication with other non-unique factors (such as OTP or password for example).
To the Quasr platform, the username value has no semantic meaning; whether the end-user uses their email address, their real-name or a fictitious nickname makes no difference to Quasr. Quasr does not require the username value to be any sort of PII (Personal Identifiable Information).
The default allowed username value pattern is very flexible, allowing any character and a length between 1-100 characters. There is also no limitation on the character set - if a user prefers to use Chinese or Cyrllic characters, they can do so.
The default maximum failed attempts before the factor gets temporarily disabled is 5. The factor will auto-unlock after 300 seconds (5 minutes). The counter resets to 0 on each successful login.
Usernames are non-case-sensitive by default.
Usernames values are stored hashed, using the Argon2id algorithm.
Below is a sample screenshot to give an idea of a potential login / registration page asking for a username. On a login or registration page, the username input field is usually represented by a single-line text field.
To signup with a username, the actual username value (input
parameter) and optionally a label (label
parameter) is provided.
POST
https://{tenant_id}.api.quasr.io/factors/signup
input
String
ID value
label
String
Label
id*
String
Factor ID
To validate a username factor, the actual username value (input
parameter) is provided.
POST
https://{tenant_id}.api.quasr.io/factors/login
input*
String
ID value
id*
String
Factor or Enrollment ID
The following API sample calls create a username factor labelled "Another Username" with a score of 1.
The username factor allows for the following parameters and config options:
subtype
"secret:id"
label
<any string>
"Username"
status
"ENABLED" | "DISABLED"
"DISABLED"
score
<positive int>
1
config. regex
regex
"^.{1,100}$"
config.unique
true | false
true
config. case_sensitive
true | false
false
config. public_signup
true | false
false
config.threshold
0-4
0
config.require_validation_for_enablement
true | false
false
config.capture_input
true | false
false
A username factor is already available for all newly created tenants by default, however, if you want to add additional ID factors, you can do so via Tenant Administration UI or .
The Quasr Access Token used in the Authorization
header in the examples below must contain the scope https://api.quasr.io/scopes/admin
in order to be authorized. See