# Request and Perform Authentication
source: https://developer.mastercard.com/mastercard-checkout-solutions/tutorial/authentication_scof/step2/index.md

## Step 2: Request and Perform Authentication {#step-2-request-and-perform-authentication}

Request transaction authentication while adding a card or performing checkout.

|            Transaction Authentication            | authenticationMethodType |                    authenticationReasons                     |                                                                                                                                                          Authentication Applied                                                                                                                                                          |
|--------------------------------------------------|--------------------------|--------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| During card tokenization or performing checkout. | `MANAGED_AUTHENTICATION` | `TRANSACTION_AUTHENTICATION` or `ENROL_FINANCIAL_INSTRUMENT` | Mastercard will perform: 1. Either - Authentication using passkeys (FIDO). 2. Or - Issuer Authentication (EMV 3DS) followed by passkey registration. See [Step 2a](https://developer.mastercard.com/mastercard-checkout-solutions/tutorial/authentication_scof/step2/index.md#step-2a-perform-authentication-using-passkey) for details. |
| Using a preferred method.                        | `3DS`                    | `TRANSACTION_AUTHENTICATION`                                 | Mastercard will perform Issuer Authentication with EMV 3DS only. See [Step 2b](https://developer.mastercard.com/mastercard-checkout-solutions/tutorial/authentication_scof/step2/index.md#step-2b-perform-authentication-using-a-preferred-method) for details.                                                                          |

## Step 2a: Perform Authentication using Passkey {#step-2a-perform-authentication-using-passkey}

Mastercard allows the cardholders to create a passkey and the Integrators to use these passkeys for authenticating a transaction.

1. Launch the Mastercard [Authentication UI](https://developer.mastercard.com/mastercard-checkout-solutions/tutorial/integrate_apis_scof/step4/index.md) to perform Identity and Verification (ID\&V).   
   The authentication request must comprise of:

* `authenticationMethodType` = MANAGED_AUTHENTICATION
* `authenticationReasons` = ENROL_FINANCIAL_INSTRUMENT or TRANSACTION_AUTHENTICATION
* `transactionAmount` \> 0 and other required parameters Note: The `transactionAmount` is required for `authenticationReasons` = TRANSACTION_AUTHENTICATION.

2. If a passkey is not present, Mastercard initiates 3DS authentication.   
   Once the ID\&V is successful, the cardholder is prompted to create a passkey.

3. If a passkey exists, Integrator prompts the cardholder for authentication.

4. Mastercard authenticates the transaction uses the passkey and shares the results in `authenticationResult`= AUTHENTICATED and `authenticationStatus`= COMPLETE within `assuranceData` with the Integrator, detailed out [here](https://developer.mastercard.com/mastercard-checkout-solutions/tutorial/integrate_apis_scof/step4/index.md).

5. Pass these authentication results in the [Checkout API](https://developer.mastercard.com/mastercard-checkout-solutions/tutorial/authentication_scof/step3/index.md) call.

Use cases are available [here](https://developer.mastercard.com/mastercard-checkout-solutions/tutorial/authentication_scof_guide/step1/index.md).

## Step 2b: Perform Authentication using a Preferred Method {#step-2b-perform-authentication-using-a-preferred-method}

To perform authentication using Issuer supported methods (3DS), follow these steps:

1. Launch the Mastercard [Authentication UI](https://developer.mastercard.com/mastercard-checkout-solutions/tutorial/integrate_apis_scof/step4/index.md) to perform 3DS transaction authentication.   
   The authentication request must comprise of:

* `authenticationMethodType` = 3DS
* `authenticationReasons` = TRANSACTION_AUTHENTICATION
* `transactionAmount` \> 0 and other required parameters

2. The Issuer may present the challenge on the Authentication UI or a frictionless 3DS transaction authentication is done.

3. The Issuer shares the authentication results with Mastercard.

4. Upon successful 3DS transaction authentication, Mastercard shares the results in `authenticationResult`= AUTHENTICATED and `authenticationStatus`= COMPLETE within `assuranceData` with the Integrator, detailed out [here](https://developer.mastercard.com/mastercard-checkout-solutions/tutorial/integrate_apis_scof/step4/index.md).

5. Pass these authentication results in the [Checkout API](https://developer.mastercard.com/mastercard-checkout-solutions/tutorial/authentication_scof/step3/index.md) call.

Use cases are available [here](https://developer.mastercard.com/mastercard-checkout-solutions/tutorial/authentication_scof_guide/step1/index.md).
