Username & password
Used to verify user credentials against one or more user stores. Requires modules AuthN & Pipes to be deployed.
Configuration
Section titled “Configuration”Common Authenticator configuration can be found here.
| Name | Description | Default value | Mandatory |
|---|---|---|---|
pipe_id | Pipe to use for validation. | N/A | true |
allowed_retries | Numer of allowed faulty tries before system resets the state. | 2 | false |
webroot_dir | See common authenticator configuration | web/authenticator/username_password | false |
custom_identifier | Tag used for event separation | N/A | false |
{ "id": "uidpwd01", "type": "UserNameAndPassword", "config": { "base_path": "${globals.default_login_suffix}", "pipe_id": "user_validation_pipe" }}Logging
Section titled “Logging”Apart from system logging, event logging is done when completing and failing a transaction.
Event ids are:
-
WEB_100017("Authenticated using User-name & password")
- IDENTIFIER (user trace id)
- CUSTOMER_IDENTIFIER (if configured)
- SOURCE_USER_NAME (username entered by the user)
- SOURCE_ADDRESS (ip of the remote session)
- AUTHENTICATOR_IDENTIFIER (id and display name)
-
WEB_100018("Failed authentication using User-name & password")
- IDENTIFIER (user trace id)
- CUSTOMER_IDENTIFIER (if configured)
- SOURCE_ADDRESS (ip of the remote session)
- SOURCE_USER_NAME (username entered by the user)
- AUTHENTICATOR_IDENTIFIER (id and display name)
Data sent to validation pipe
Section titled “Data sent to validation pipe”On validation, data sent to the pipe is:
- identifier - the username provided by the user
- password - the password provided by the user
Data exposed to global state
Section titled “Data exposed to global state”After a user completes a transaction, the authenticator is marked as done. Data from the authentication response is then put into the global state replacing existing values:
- username
API follows the general conventions of the Fortified Web Authenticator API.
General requirements
Section titled “General requirements”All requests use the HTTP PUT method with Content-Type: application/json, sent to the directory URL the view was loaded from. The session cookie must be sent with every request.
Messages
Section titled “Messages”| Message | Purpose |
|---|---|
state | Fetch the current state. Send it when the view loads. |
start | Submit the username and password for validation. |
cancel | Cancel the authentication. |
Getting state
Section titled “Getting state”Send this when the view loads, and after a browser reload. It moves a pending authenticator into progress and reports that the view may collect input.
{ "type": "state"}{ "status": "ABOUT_TO_START"}Starting an authentication
Section titled “Starting an authentication”Send the username and password entered by the user. They are passed to the configured pipe together with any whitelisted request headers.
{ "type": "start", "data": { "identifier": "<username>", "password": "<password>" }}{ "type": "complete", "success": true, "data": { "location": "<next-location>" }}{ "status": "ERROR"}Returned when the username or the password is missing from the request, or when the validation pipe fails or reports no success. The view should show an error and let the user try again.
Cancel a request
Section titled “Cancel a request”A request can be canceled at any time. This is done by sending a cancel request.
{ "type": "cancel"}Response from server
Section titled “Response from server”Expect HTTP status code 200. Anything else is to be considered an error.
The body is a JSON object. A step that is still in progress answers with a status property; a step that ends the authenticator answers with a complete, cancel, or failure message as described in Web Authenticator API.
Possible status messages
Section titled “Possible status messages”| Status | Meaning |
|---|---|
ABOUT_TO_START | The authenticator is ready and the view should collect the username and password. |
ERROR | Credentials were missing or rejected. Attempts remain. |
Translation keys
Section titled “Translation keys”{ "username_password.identifier": "Username", "username_password.password": "Password", "username_password.start_authentication": "Sign in", "username_password.authentication_verified": "Identity verified", "username_password.redirecting": "Redirecting...", "username_password.cancel": "Cancel", "username_password.ERROR": "Wrong username or password.", "allow-cookies-body": "To save your language settings on this device you need to approve a language cookie.", "allow-cookies-button": "Approve language cookie", "authentication.help_text": "", "change_language": ""}{ "username_password.identifier": "Användarnamn", "username_password.password": "Lösenord", "username_password.start_authentication": "Logga in", "username_password.authentication_verified": "Identitet verifierad", "username_password.redirecting": "Omdirigerar...", "username_password.cancel": "Avbryt", "username_password.ERROR": "Felaktigt användarnamn eller lösenord", "allow-cookies-body": "Vill du spara dina språkinställningar på denna enhet behövs ett godkännande av språk-cookie.", "allow-cookies-button": "Godkänn språk-cookie", "authentication.help_text": "", "change_language": ""}