java.lang.Object
software.amazon.smithy.openapi.fromsmithy.security.AwsV4Converter
All Implemented Interfaces:
SecuritySchemeConverter<software.amazon.smithy.aws.traits.auth.SigV4Trait>

public final class AwsV4Converter extends Object implements SecuritySchemeConverter<software.amazon.smithy.aws.traits.auth.SigV4Trait>
Adds AWS signature version in a way that"s compatible with AWS API Gateway.
  • Constructor Details

    • AwsV4Converter

      public AwsV4Converter()
  • Method Details

    • getAuthSchemeType

      public Class<software.amazon.smithy.aws.traits.auth.SigV4Trait> getAuthSchemeType()
      Description copied from interface: SecuritySchemeConverter
      Get the U that matches this converter.
      Specified by:
      getAuthSchemeType in interface SecuritySchemeConverter<software.amazon.smithy.aws.traits.auth.SigV4Trait>
      Returns:
      The Smithy security auth scheme ID.
    • createSecurityScheme

      public SecurityScheme createSecurityScheme(Context<? extends software.amazon.smithy.model.traits.Trait> context, software.amazon.smithy.aws.traits.auth.SigV4Trait trait)
      Description copied from interface: SecuritySchemeConverter
      Creates an OpenAPI security scheme.
      Specified by:
      createSecurityScheme in interface SecuritySchemeConverter<software.amazon.smithy.aws.traits.auth.SigV4Trait>
      Parameters:
      context - Conversion context.
      trait - Authentication trait to convert.
      Returns:
      The generated security scheme
      See Also:
    • getAuthRequestHeaders

      public Set<String> getAuthRequestHeaders(Context<? extends software.amazon.smithy.model.traits.Trait> context, software.amazon.smithy.aws.traits.auth.SigV4Trait trait)
      Description copied from interface: SecuritySchemeConverter
      Gets the names of the headers set on HTTP requests used by this authentication scheme.

      This is useful when integrating with things like CORS.

      Specified by:
      getAuthRequestHeaders in interface SecuritySchemeConverter<software.amazon.smithy.aws.traits.auth.SigV4Trait>
      Parameters:
      context - Context for the conversion.
      trait - The auth trait that is being used.
      Returns:
      A set of header names.