/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include The criteria for inspecting login requests, used by the ATP rule group to
* validate credentials usage. This is part of the
* In these settings, you specify how
* your application accepts login attempts by providing the request payload type
* and the names of the fields within the request body where the username and
* password are provided. AWSManagedRulesATPRuleSet
configuration in
* ManagedRuleGroupConfig
.See Also:
AWS
* API Reference
The payload type for your login endpoint, either JSON or form encoded.
*/ inline const PayloadType& GetPayloadType() const{ return m_payloadType; } /** *The payload type for your login endpoint, either JSON or form encoded.
*/ inline bool PayloadTypeHasBeenSet() const { return m_payloadTypeHasBeenSet; } /** *The payload type for your login endpoint, either JSON or form encoded.
*/ inline void SetPayloadType(const PayloadType& value) { m_payloadTypeHasBeenSet = true; m_payloadType = value; } /** *The payload type for your login endpoint, either JSON or form encoded.
*/ inline void SetPayloadType(PayloadType&& value) { m_payloadTypeHasBeenSet = true; m_payloadType = std::move(value); } /** *The payload type for your login endpoint, either JSON or form encoded.
*/ inline RequestInspection& WithPayloadType(const PayloadType& value) { SetPayloadType(value); return *this;} /** *The payload type for your login endpoint, either JSON or form encoded.
*/ inline RequestInspection& WithPayloadType(PayloadType&& value) { SetPayloadType(std::move(value)); return *this;} /** *The name of the field in the request payload that contains your customer's * username.
How you specify this depends on the request inspection payload * type.
For JSON payloads, specify the field name in JSON pointer * syntax. For information about the JSON Pointer syntax, see the Internet * Engineering Task Force (IETF) documentation JavaScript Object Notation (JSON) * Pointer.
For example, for the JSON payload { "form": {
* "username": "THE_USERNAME" } }
, the username field specification is
* /form/username
.
For form encoded payload types, * use the HTML form names.
For example, for an HTML form with the input
* element named username1
, the username field specification is
* username1
The name of the field in the request payload that contains your customer's * username.
How you specify this depends on the request inspection payload * type.
For JSON payloads, specify the field name in JSON pointer * syntax. For information about the JSON Pointer syntax, see the Internet * Engineering Task Force (IETF) documentation JavaScript Object Notation (JSON) * Pointer.
For example, for the JSON payload { "form": {
* "username": "THE_USERNAME" } }
, the username field specification is
* /form/username
.
For form encoded payload types, * use the HTML form names.
For example, for an HTML form with the input
* element named username1
, the username field specification is
* username1
The name of the field in the request payload that contains your customer's * username.
How you specify this depends on the request inspection payload * type.
For JSON payloads, specify the field name in JSON pointer * syntax. For information about the JSON Pointer syntax, see the Internet * Engineering Task Force (IETF) documentation JavaScript Object Notation (JSON) * Pointer.
For example, for the JSON payload { "form": {
* "username": "THE_USERNAME" } }
, the username field specification is
* /form/username
.
For form encoded payload types, * use the HTML form names.
For example, for an HTML form with the input
* element named username1
, the username field specification is
* username1
The name of the field in the request payload that contains your customer's * username.
How you specify this depends on the request inspection payload * type.
For JSON payloads, specify the field name in JSON pointer * syntax. For information about the JSON Pointer syntax, see the Internet * Engineering Task Force (IETF) documentation JavaScript Object Notation (JSON) * Pointer.
For example, for the JSON payload { "form": {
* "username": "THE_USERNAME" } }
, the username field specification is
* /form/username
.
For form encoded payload types, * use the HTML form names.
For example, for an HTML form with the input
* element named username1
, the username field specification is
* username1
The name of the field in the request payload that contains your customer's * username.
How you specify this depends on the request inspection payload * type.
For JSON payloads, specify the field name in JSON pointer * syntax. For information about the JSON Pointer syntax, see the Internet * Engineering Task Force (IETF) documentation JavaScript Object Notation (JSON) * Pointer.
For example, for the JSON payload { "form": {
* "username": "THE_USERNAME" } }
, the username field specification is
* /form/username
.
For form encoded payload types, * use the HTML form names.
For example, for an HTML form with the input
* element named username1
, the username field specification is
* username1
The name of the field in the request payload that contains your customer's * username.
How you specify this depends on the request inspection payload * type.
For JSON payloads, specify the field name in JSON pointer * syntax. For information about the JSON Pointer syntax, see the Internet * Engineering Task Force (IETF) documentation JavaScript Object Notation (JSON) * Pointer.
For example, for the JSON payload { "form": {
* "username": "THE_USERNAME" } }
, the username field specification is
* /form/username
.
For form encoded payload types, * use the HTML form names.
For example, for an HTML form with the input
* element named username1
, the username field specification is
* username1
The name of the field in the request payload that contains your customer's * password.
How you specify this depends on the request inspection payload * type.
For JSON payloads, specify the field name in JSON pointer * syntax. For information about the JSON Pointer syntax, see the Internet * Engineering Task Force (IETF) documentation JavaScript Object Notation (JSON) * Pointer.
For example, for the JSON payload { "form": {
* "password": "THE_PASSWORD" } }
, the password field specification is
* /form/password
.
For form encoded payload types, * use the HTML form names.
For example, for an HTML form with the input
* element named password1
, the password field specification is
* password1
.
The name of the field in the request payload that contains your customer's * password.
How you specify this depends on the request inspection payload * type.
For JSON payloads, specify the field name in JSON pointer * syntax. For information about the JSON Pointer syntax, see the Internet * Engineering Task Force (IETF) documentation JavaScript Object Notation (JSON) * Pointer.
For example, for the JSON payload { "form": {
* "password": "THE_PASSWORD" } }
, the password field specification is
* /form/password
.
For form encoded payload types, * use the HTML form names.
For example, for an HTML form with the input
* element named password1
, the password field specification is
* password1
.
The name of the field in the request payload that contains your customer's * password.
How you specify this depends on the request inspection payload * type.
For JSON payloads, specify the field name in JSON pointer * syntax. For information about the JSON Pointer syntax, see the Internet * Engineering Task Force (IETF) documentation JavaScript Object Notation (JSON) * Pointer.
For example, for the JSON payload { "form": {
* "password": "THE_PASSWORD" } }
, the password field specification is
* /form/password
.
For form encoded payload types, * use the HTML form names.
For example, for an HTML form with the input
* element named password1
, the password field specification is
* password1
.
The name of the field in the request payload that contains your customer's * password.
How you specify this depends on the request inspection payload * type.
For JSON payloads, specify the field name in JSON pointer * syntax. For information about the JSON Pointer syntax, see the Internet * Engineering Task Force (IETF) documentation JavaScript Object Notation (JSON) * Pointer.
For example, for the JSON payload { "form": {
* "password": "THE_PASSWORD" } }
, the password field specification is
* /form/password
.
For form encoded payload types, * use the HTML form names.
For example, for an HTML form with the input
* element named password1
, the password field specification is
* password1
.
The name of the field in the request payload that contains your customer's * password.
How you specify this depends on the request inspection payload * type.
For JSON payloads, specify the field name in JSON pointer * syntax. For information about the JSON Pointer syntax, see the Internet * Engineering Task Force (IETF) documentation JavaScript Object Notation (JSON) * Pointer.
For example, for the JSON payload { "form": {
* "password": "THE_PASSWORD" } }
, the password field specification is
* /form/password
.
For form encoded payload types, * use the HTML form names.
For example, for an HTML form with the input
* element named password1
, the password field specification is
* password1
.
The name of the field in the request payload that contains your customer's * password.
How you specify this depends on the request inspection payload * type.
For JSON payloads, specify the field name in JSON pointer * syntax. For information about the JSON Pointer syntax, see the Internet * Engineering Task Force (IETF) documentation JavaScript Object Notation (JSON) * Pointer.
For example, for the JSON payload { "form": {
* "password": "THE_PASSWORD" } }
, the password field specification is
* /form/password
.
For form encoded payload types, * use the HTML form names.
For example, for an HTML form with the input
* element named password1
, the password field specification is
* password1
.