---
title: Platform Username node
description: The Platform Username node prompts the user to enter their username and stores it in a configurable property of the shared node state.
component: auth-node-ref
version: latest
page_id: auth-node-ref::platform-username
canonical_url: https://docs.pingidentity.com/auth-node-ref/latest/platform-username.html
keywords: ["Nodes &amp; Trees", "Journeys", "Authentication"]
page_aliases: ["auth-node-platform-username.adoc"]
superseded_by: https://docs.pingidentity.com/auth-node-ref/latest/platform-username.html
section_ids:
  example: Example
  availability: Availability
  inputs: Inputs
  dependencies: Dependencies
  configuration: Configuration
  outputs: Outputs
  callbacks: Callbacks
  callbacks_2: Callbacks
  outcomes: Outcomes
  errors: Errors
  changelog: Changelog
---

# Platform Username node

The Platform Username node prompts the user to enter their username and stores it in a configurable property of the shared node state.

## Example

The following journey uses a [Page node](page.html) containing the [Platform Username node](platform-username.html) and [Platform Password node](platform-password.html) to collect the username and password and set their values in the shared node state:

![Username and password authentication](_images/platform-username-password.png)

a The [Page node](page.html) presents a page with input fields to prompt for the username and password.

* The [Platform Username node](platform-username.html) collects and injects the `userName` into the shared node state.

* The [Platform Password node](platform-password.html) collects and injects the `password` into the shared node state.

b The [Data Store Decision node](data-store-decision.html) locates the user in the backend identity store and determines if the credentials are correct:

* If the credentials are correct, the journey progresses to the [Increment Login Count node](increment-login-count.html).

* If the credentials aren't correct, the journey progresses to the [Retry Limit Decision node](retry-limit-decision.html).

c The [Increment Login Count node](increment-login-count.html) updates the login count on successful authentication.

d The [Retry Limit Decision node](retry-limit-decision.html) determines how many times the user has attempted these credentials:

* If the number of attempts doesn't exceed the maximum, the user is redirected to the [Platform Username node](platform-username.html) to attempt their credentials again.

* If the number of attempts exceeds the maximum, the journey follows the failure outcome.

e The [Inner Tree Evaluator node](inner-tree-evaluator.html) invokes a nested journey for progressive profiling.

## Availability

| Product                               | Available? |
| ------------------------------------- | ---------- |
| PingOne Advanced Identity Cloud       | Yes        |
| PingAM (self-managed)                 | Yes 1      |
| Ping Identity Platform (self-managed) | Yes        |

1 This functionality requires that you configure AM as part of a [Ping Identity Platform deployment](https://docs.pingidentity.com/platform/8.1/sample-setup/).

## Inputs

* Version 1.0

  None. This node doesn't read shared state data.

* Version 2.0

  If the Prepopulate Username option is enabled, the node reads the `username` from the shared state if it's available.

## Dependencies

None.

## Configuration

| Property                                                                    | Usage                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         | Availability      |
| --------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------- |
| Validate Username                                                           | When enabled, this node uses username policies to validate the user's input. It returns any policy failures as errors.	Only enable this option if you're using this node in a registration journey. When enabled, the node checks that the username doesn't already exist. Enabling this in an authentication journey would cause all logins to fail for existing users.Default: Not enabled                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  | All node versions |
| Username Attribute                                                          | The attribute used to store a username in the managed identity object.Default: `userName`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     | All node versions |
| Prepopulate Username                                                        | Whether the node should prepopulate the `username` if it's available in the shared state.Default: Not enabled                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 | [v2.0](#v2)       |
| Autocomplete Values AM only *(tooltip: Currently available only in AM 8.1)* | (Optional) Enter one or more autocomplete values. These values provide autofill suggestions to the user when they're prompted for their username. Make sure you only use standard autocomplete values that are defined in the [HTML specification](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Attributes/autocomplete) to ensure browsers can recognize them and provide relevant suggestions.For example, if you enter `username`, users will see username suggestions based on the autofill data that's been saved in their browser.&#xA;&#xA;If you want users to see relevant passkeys as autofill suggestions when prompted for their username, make sure you:&#xA;&#xA;Include the username and webauthn autocomplete values in this order.&#xA;&#xA;Configure the WebAuthn Authentication node for passkey autofill. Learn more in Configure WebAuthn conditional UI. | All node versions |

## Outputs

The node writes the captured `username` to shared state.

## Callbacks

The node sends either a [ValidatedUsernameCallback](https://docs.pingidentity.com/pingoneaic/am-authentication/callbacks-interactive.html#ValidatedUsernameCallback) or a [NameCallback](https://docs.pingidentity.com/pingoneaic/am-authentication/callbacks-interactive.html#NameCallback) to prompt the user for their username. The callback sent depends on whether the Validate Username option is enabled or not.

## Callbacks

* If Validate Username isn't set, the node uses a [NameCallback](https://docs.pingidentity.com/pingoneaic/am-authentication/callbacks-interactive.html#NameCallback) to prompt the user for their username.

* If Validate Username is set, the node uses a [ValidatedCreateUsernameCallback](https://docs.pingidentity.com/pingoneaic/am-authentication/callbacks-interactive.html#ValidatedCreateUsernameCallback) to prompt the user for their username, apply policies, and validate the response.

## Outcomes

Single outcome path.

## Errors

This node doesn't log any error or warning messages of its own.

## Changelog

| Version                                                         | Changes                                                    |
| --------------------------------------------------------------- | ---------------------------------------------------------- |
| []()2.0 AM only *(tooltip: Currently available only in AM 8.1)* | Addition of the Prepopulate Username configuration option. |
