Class SignedHeadersConfig
java.lang.Object
io.helidon.security.providers.httpsign.SignedHeadersConfig
Configuration of required and "if-present" headers to be signed.
Example for configuration based approach:
sign-headers: [ # request may sign headers not specified here - only specify the ones that MUST be signed { # if method is not defined, then this is the default config # MUST be present and signed always = ["date"] } { method = "get" # MUST be present and signed always = ["date", "(request-target)", "host"] # MUST be signed IF present if-present = ["authorization"] } ]
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic final class
Fluent API builder to createSignedHeadersConfig
instances.static final class
Configuration of headers to be signed. -
Field Summary
Modifier and TypeFieldDescriptionstatic final String
Special header "(request-target)" is used for method and path combination. -
Method Summary
Modifier and TypeMethodDescriptionstatic SignedHeadersConfig.Builder
builder()
Builder to create a new instance.static SignedHeadersConfig
Load header configuration from config.Headers configured for a method.Headers configured for a method with optional headers matched against actual transport headers.
-
Field Details
-
REQUEST_TARGET
Special header "(request-target)" is used for method and path combination.- See Also:
-
-
Method Details
-
create
Load header configuration from config.- Parameters:
config
- config instance, expecting object array as children- Returns:
- signed headers configuration loaded from config
-
builder
Builder to create a new instance.- Returns:
- new builder
-
headers
Headers configured for a method with optional headers matched against actual transport headers.- Parameters:
method
- method (such as GET)transportHeaders
- actual headers received on the transport- Returns:
- list of headers that must be signed
-
headers
Headers configured for a method.- Parameters:
method
- method (such as GET)- Returns:
- list of headers
-