Class RESTSigV4AuthSession

  • All Implemented Interfaces:
    java.lang.AutoCloseable, org.apache.iceberg.rest.auth.AuthSession

    public class RESTSigV4AuthSession
    extends java.lang.Object
    implements org.apache.iceberg.rest.auth.AuthSession
    An AuthSession that signs requests with SigV4.

    The request is first authenticated by the delegate AuthSession, then signed with SigV4. In case of conflicting headers, the Authorization header set by delegate AuthSession will be relocated, then included in the canonical headers to sign.

    See Signing AWS API requests for details about the SigV4 protocol.

    • Field Summary

      • Fields inherited from interface org.apache.iceberg.rest.auth.AuthSession

        EMPTY
    • Constructor Summary

      Constructors 
      Constructor Description
      RESTSigV4AuthSession​(software.amazon.awssdk.auth.signer.Aws4Signer aws4Signer, org.apache.iceberg.rest.auth.AuthSession delegateAuthSession, AwsProperties awsProperties)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      org.apache.iceberg.rest.HTTPRequest authenticate​(org.apache.iceberg.rest.HTTPRequest request)  
      void close()  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • RESTSigV4AuthSession

        public RESTSigV4AuthSession​(software.amazon.awssdk.auth.signer.Aws4Signer aws4Signer,
                                    org.apache.iceberg.rest.auth.AuthSession delegateAuthSession,
                                    AwsProperties awsProperties)
    • Method Detail

      • authenticate

        public org.apache.iceberg.rest.HTTPRequest authenticate​(org.apache.iceberg.rest.HTTPRequest request)
        Specified by:
        authenticate in interface org.apache.iceberg.rest.auth.AuthSession
      • close

        public void close()
        Specified by:
        close in interface org.apache.iceberg.rest.auth.AuthSession
        Specified by:
        close in interface java.lang.AutoCloseable