> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ulm.m1amdocs.com/llms.txt
> Use this file to discover all available pages before exploring further.

# User authentication with reCAPTCHA

This authentication use case includes the optional reCAPTCHA service with the Authenticate User Process.

reCAPTCHA is a service provided by Google, and is integrated into a website through JavaScript code provided by Google themselves. When the client provides a verification token in the request, Digital Identity Management then independently validates the token through back-channel requests to Digital Identity Management's reCAPTCHA API.

\[product: dim]<img src="https://mintcdn.com/amdocs-ulm/XSI-_zBHRIt1HJAz/portal/m1Connect/processGuide/images/m1c_umlAuthNrecaptcha.png?fit=max&auto=format&n=XSI-_zBHRIt1HJAz&q=85&s=e6182dd9255db56f01003c78a0055054" alt="" width="1375" height="1015" data-path="portal/m1Connect/processGuide/images/m1c_umlAuthNrecaptcha.png" />\[/product: dim]

## Request

The client calls the Session Start API to initialize the Process, and includes the reCAPTCHA token alongside the end user's credentials:

```
**REQUEST - POST https://\{your.url\}/session/start**
{
   "authnIdentifier": "jane.smith@example.ca",
   "credential": "5oodP@s$word321",
   "recaptchaResponse": "reCAPTCHA response token value here"
}
```

| `authnIdentifier` | The end user's registered email address, mobile number, or alias (if any) |
| - | - |
| `credential` | The end user's password |
| `recaptchaResponse` | The verification token provided by reCAPTCHA either after a challenge has been completed, or reCAPTCHA has implicitly verified the user as human (without any challenge required). Digital Identity Management will use this token to independently verify with Google that reCAPTCHA has been successfully completed during the login process. |

## Process Complete

If the user provides valid credentials, and no other authentication protocols are necessary (e.g., MFA) then the Process responds with an `HTTP 200` status code, and User details in the response body:

```
**RESPONSE - body**
{
   "processId": "eec918ff-5db4-4fee-a601-5ff76a099c8e",
   "lastStep": true,
   "runtimeId": 229,
   "userId": 12345,
   "userAuthenticated:" true
}
```

| `processId` | The unique identifier for this instance of the Process. |
| - | - |
| `lastStep` | Boolean that indicates whether or not this was the last step in the Process. |
| `runtimeId` | Identifier of the Digital Identity Management Runtime entity currently associated to the Digital Identity Management User entity.\*\*About Runtime Entities:\*\*Upon user creation or authentication, Digital Identity Management looks for a JRUNTIMEID cookie in the end user's browser or application. If no cookie is found, Digital Identity Management creates a Runtime Entity with a unique ID and associates it to the user during the login phase. Digital Identity Management will generate and pass a corresponding JRUNTIMEID cookie for clients to store and return with subsequent requests. |
| `userId` | The unique identifier of the current user. |
| `userAuthenticated` | Boolean that indicates if the user was authenticated into Digital Identity Management. |
| The client application can retain the User and Runtime entity IDs to use [Digital Identity Management APIs](https://developer.m1amdocs.com/api) to perform CRUD operations against those (and other associated) entities. | |

**Parent topic:**[Authenticate User Process](../topics/c_authenticateUser)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.