---
title: Data Store Decision node
description: Authenticate users by verifying that their credentials match those stored in the configured data store for the realm.
component: platform
version: 7.5
page_id: platform:auth-node-ref:data-store-decision
canonical_url: https://docs.pingidentity.com/platform/7.5/auth-node-ref/data-store-decision.html
llms_txt: https://docs.pingidentity.com/platform/llms.txt
docs_for_agents: https://developer.pingidentity.com/build-with-ai/docs-for-agents.md
keywords: ["Nodes &amp; Trees", "Journeys", "Authentication", "Identity Store", "LDAP", "Data Store"]
page_aliases: ["auth-node-data-store-decision.adoc"]
section_ids:
  availability: Availability
  inputs: Inputs
  dependencies: Dependencies
  configuration: Configuration
  outputs: Outputs
  outcomes: Outcomes
  errors: Errors
  troubleshooting: Troubleshooting
  examples: Examples
  datastore-decision-example1: "Example 1: Simple username and password collector nodes with Data Store Decision node"
  datastore-decision-example2: "Example 2: Grant the user several attempts to enter their credentials correctly"
  alternate_nodes: Alternate nodes
---

# Data Store Decision node

The Data Store Decision node checks that the credentials provided during authentication match the ones stored in the configured data store for the realm.

## Availability

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

## Inputs

This node requires the `realm`, `username`, and `password` properties in the incoming node state.

You can implement the following nodes as inputs to the Data Store Decision node:

* Input nodes

  This node requires the `username` and `password` properties in the incoming node state. Implement the following nodes earlier in the journey:

  * Standalone PingAM deployment

    * [Username Collector node](am-only/username-collector.html)

    * [Password Collector node](am-only/password-collector.html)

  * Ping Identity Platform deployment:

    * [Platform Username node](platform-username.html)

    * [Platform Password node](platform-password.html)

Alternatively, implement a [Zero Page Login Collector node](zero-page-login-collector.html).

## Dependencies

The Data Store Decision node is a basic node used in many types of authentication application types, such as basic, push, OAuth 2.0, and social provider authentication applications.

## Configuration

This node has no configurable properties.

## Outputs

This node copies shared and transient state into the outgoing node state.

## Outcomes

Returns a boolean outcome:

* `True`

  The credentials match those found in the data store.

* `False`

  The credentials do *not* match those found in the data store.

## Errors

The following Data Store Decision node warnings and errors can appear in the logs:

* Warnings

  * "invalid password error"

  * "invalid username error"

* Errors

  * "Exception in data store decision node"

### Troubleshooting

Review any errors and warnings this node logged.

* If this node logged a warning, fix the credentials and try again.

* If this node logged an error, review the log messages for the transaction to find the reason for the exception.

## Examples

### Example 1: Simple username and password collector nodes with Data Store Decision node

![data store decision login](_images/data-store-decision-login.png)

This example illustrates a simple login process. The journey involves a [Page node](page.html) that contains two embedded nodes: [Platform Username node](platform-username.html) and [Platform Password node](platform-password.html). To enhance user experience, the Page node lets users input their username and password on a single page, instead of splitting them across two different pages.

The Data Store Decision node has two outcomes: `True` or `False`. When the outcome is `True`, it triggers a [Login Count Decision node](login-count-decision.html). The [Increment Login Count node](increment-login-count.html) then moves to an [Inner Tree Evaluator node](inner-tree-evaluator.html), which performs additional login processes. The `False` outcome connects directly to a failure node, indicating a failed state where the username and/or password provided by the user did not match the information stored in the data store.

### Example 2: Grant the user several attempts to enter their credentials correctly

![data store decision with retry](_images/data-store-decision-with-retry.png)

In the following example, when an authentication attempt fails at the Data Store Decision node, you can direct it to a [Retry Limit Decision node](retry-limit-decision.html). The [Retry Limit Decision node](retry-limit-decision.html) determines the number of retries allowed and either retries the login attempt or rejects it. If the journey rejects the login attempt after reaching the configured limit, for example three attempts, the operation results in an account lockout.

## Alternate nodes

The [LDAP Decision node](ldap-decision.html) supports LDAP Behera Password Policies with separate outcomes for accounts that are locked and passwords that have expired.
