Class SignerProperty<T>
- java.lang.Object
-
- software.amazon.awssdk.http.auth.spi.signer.SignerProperty<T>
-
- Type Parameters:
T- The type of the property.
@SdkPublicApi @Immutable @ThreadSafe public final class SignerProperty<T> extends Object
A strongly-typed property for input to anHttpSigner.Signer properties are used to configure signing behavior by passing parameters to signers through
AuthSchemeOptions. Common properties include signing region, service name, and signing algorithm parameters.Common Built-in Properties
The SDK provides several built-in AWS V4 signer properties:
AwsV4FamilyHttpSigner.SERVICE_SIGNING_NAME- The service name to use in the signatureAwsV4FamilyHttpSigner.REGION_NAME- The AWS region for signingAwsV4FamilyHttpSigner.DOUBLE_URL_ENCODE- Whether to double URL-encode the pathAwsV4FamilyHttpSigner.NORMALIZE_PATH- Whether to normalize the request pathAwsV4FamilyHttpSigner.PAYLOAD_SIGNING_ENABLED- Whether to indicate that a payload is signed or not.
Overriding Properties via AuthSchemeProvider
To override signer properties, implement a custom
AuthSchemeProviderthat wraps the default provider and modifies the properties on resolvedAuthSchemeOptions.Example - Overriding service signing name: {@snippet : S3AsyncClient s3 = S3AsyncClient.builder() .region(Region.US_WEST_2) .credentialsProvider(CREDENTIALS) .authSchemeProvider(new CustomSigningNameAuthSchemeProvider()) .build(); public class CustomSigningNameAuthSchemeProvider implements S3AuthSchemeProvider { private final S3AuthSchemeProvider delegate; public CustomSigningNameAuthSchemeProvider() { this.delegate = S3AuthSchemeProvider.defaultProvider(); }
- See Also:
HttpSigner,AuthSchemeOption,AuthSchemeProvider
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static <T> SignerProperty<T>create(Class<?> namespace, String name)Create a property.booleanequals(Object o)inthashCode()StringtoString()
-
-
-
Method Detail
-
create
public static <T> SignerProperty<T> create(Class<?> namespace, String name)
Create a property.- Type Parameters:
T- the type of the property.- Parameters:
namespace- the class *where* the property is being definedname- the name for the property- Throws:
IllegalArgumentException- if a property with this namespace and name already exist
-
-