Class RemoteJwks

  • All Implemented Interfaces:
    com.google.protobuf.Message, com.google.protobuf.MessageLite, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, RemoteJwksOrBuilder, Serializable

    public final class RemoteJwks
    extends com.google.protobuf.GeneratedMessageV3
    implements RemoteJwksOrBuilder
     This message specifies how to fetch JWKS from remote and how to cache it.
     
    Protobuf type envoy.extensions.filters.http.jwt_authn.v3.RemoteJwks
    See Also:
    Serialized Form
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      static class  RemoteJwks.Builder
      This message specifies how to fetch JWKS from remote and how to cache it.
      • Nested classes/interfaces inherited from class com.google.protobuf.GeneratedMessageV3

        com.google.protobuf.GeneratedMessageV3.BuilderParent, com.google.protobuf.GeneratedMessageV3.ExtendableBuilder<MessageType extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage,​BuilderType extends com.google.protobuf.GeneratedMessageV3.ExtendableBuilder<MessageType,​BuilderType>>, com.google.protobuf.GeneratedMessageV3.ExtendableMessage<MessageType extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage>, com.google.protobuf.GeneratedMessageV3.ExtendableMessageOrBuilder<MessageType extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage>, com.google.protobuf.GeneratedMessageV3.FieldAccessorTable, com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter
      • Nested classes/interfaces inherited from class com.google.protobuf.AbstractMessageLite

        com.google.protobuf.AbstractMessageLite.InternalOneOfEnum
    • Method Detail

      • newInstance

        protected Object newInstance​(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter unused)
        Overrides:
        newInstance in class com.google.protobuf.GeneratedMessageV3
      • getUnknownFields

        public final com.google.protobuf.UnknownFieldSet getUnknownFields()
        Specified by:
        getUnknownFields in interface com.google.protobuf.MessageOrBuilder
        Overrides:
        getUnknownFields in class com.google.protobuf.GeneratedMessageV3
      • getDescriptor

        public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
      • internalGetFieldAccessorTable

        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
        Specified by:
        internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessageV3
      • hasHttpUri

        public boolean hasHttpUri()
         The HTTP URI to fetch the JWKS. For example:
         .. code-block:: yaml
            http_uri:
              uri: https://www.googleapis.com/oauth2/v1/certs
              cluster: jwt.www.googleapis.com|443
              timeout: 1s
         
        .envoy.config.core.v3.HttpUri http_uri = 1;
        Specified by:
        hasHttpUri in interface RemoteJwksOrBuilder
        Returns:
        Whether the httpUri field is set.
      • getHttpUri

        public HttpUri getHttpUri()
         The HTTP URI to fetch the JWKS. For example:
         .. code-block:: yaml
            http_uri:
              uri: https://www.googleapis.com/oauth2/v1/certs
              cluster: jwt.www.googleapis.com|443
              timeout: 1s
         
        .envoy.config.core.v3.HttpUri http_uri = 1;
        Specified by:
        getHttpUri in interface RemoteJwksOrBuilder
        Returns:
        The httpUri.
      • getHttpUriOrBuilder

        public HttpUriOrBuilder getHttpUriOrBuilder()
         The HTTP URI to fetch the JWKS. For example:
         .. code-block:: yaml
            http_uri:
              uri: https://www.googleapis.com/oauth2/v1/certs
              cluster: jwt.www.googleapis.com|443
              timeout: 1s
         
        .envoy.config.core.v3.HttpUri http_uri = 1;
        Specified by:
        getHttpUriOrBuilder in interface RemoteJwksOrBuilder
      • hasCacheDuration

        public boolean hasCacheDuration()
         Duration after which the cached JWKS should be expired. If not specified, default cache
         duration is 5 minutes.
         
        .google.protobuf.Duration cache_duration = 2;
        Specified by:
        hasCacheDuration in interface RemoteJwksOrBuilder
        Returns:
        Whether the cacheDuration field is set.
      • getCacheDuration

        public com.google.protobuf.Duration getCacheDuration()
         Duration after which the cached JWKS should be expired. If not specified, default cache
         duration is 5 minutes.
         
        .google.protobuf.Duration cache_duration = 2;
        Specified by:
        getCacheDuration in interface RemoteJwksOrBuilder
        Returns:
        The cacheDuration.
      • getCacheDurationOrBuilder

        public com.google.protobuf.DurationOrBuilder getCacheDurationOrBuilder()
         Duration after which the cached JWKS should be expired. If not specified, default cache
         duration is 5 minutes.
         
        .google.protobuf.Duration cache_duration = 2;
        Specified by:
        getCacheDurationOrBuilder in interface RemoteJwksOrBuilder
      • hasAsyncFetch

        public boolean hasAsyncFetch()
         Fetch Jwks asynchronously in the main thread before the listener is activated.
         Fetched Jwks can be used by all worker threads.
         If this feature is not enabled:
         * The Jwks is fetched on-demand when the requests come. During the fetching, first
           few requests are paused until the Jwks is fetched.
         * Each worker thread fetches its own Jwks since Jwks cache is per worker thread.
         If this feature is enabled:
         * Fetched Jwks is done in the main thread before the listener is activated. Its fetched
           Jwks can be used by all worker threads. Each worker thread doesn't need to fetch its own.
         * Jwks is ready when the requests come, not need to wait for the Jwks fetching.
         
        .envoy.extensions.filters.http.jwt_authn.v3.JwksAsyncFetch async_fetch = 3;
        Specified by:
        hasAsyncFetch in interface RemoteJwksOrBuilder
        Returns:
        Whether the asyncFetch field is set.
      • getAsyncFetch

        public JwksAsyncFetch getAsyncFetch()
         Fetch Jwks asynchronously in the main thread before the listener is activated.
         Fetched Jwks can be used by all worker threads.
         If this feature is not enabled:
         * The Jwks is fetched on-demand when the requests come. During the fetching, first
           few requests are paused until the Jwks is fetched.
         * Each worker thread fetches its own Jwks since Jwks cache is per worker thread.
         If this feature is enabled:
         * Fetched Jwks is done in the main thread before the listener is activated. Its fetched
           Jwks can be used by all worker threads. Each worker thread doesn't need to fetch its own.
         * Jwks is ready when the requests come, not need to wait for the Jwks fetching.
         
        .envoy.extensions.filters.http.jwt_authn.v3.JwksAsyncFetch async_fetch = 3;
        Specified by:
        getAsyncFetch in interface RemoteJwksOrBuilder
        Returns:
        The asyncFetch.
      • getAsyncFetchOrBuilder

        public JwksAsyncFetchOrBuilder getAsyncFetchOrBuilder()
         Fetch Jwks asynchronously in the main thread before the listener is activated.
         Fetched Jwks can be used by all worker threads.
         If this feature is not enabled:
         * The Jwks is fetched on-demand when the requests come. During the fetching, first
           few requests are paused until the Jwks is fetched.
         * Each worker thread fetches its own Jwks since Jwks cache is per worker thread.
         If this feature is enabled:
         * Fetched Jwks is done in the main thread before the listener is activated. Its fetched
           Jwks can be used by all worker threads. Each worker thread doesn't need to fetch its own.
         * Jwks is ready when the requests come, not need to wait for the Jwks fetching.
         
        .envoy.extensions.filters.http.jwt_authn.v3.JwksAsyncFetch async_fetch = 3;
        Specified by:
        getAsyncFetchOrBuilder in interface RemoteJwksOrBuilder
      • hasRetryPolicy

        public boolean hasRetryPolicy()
         Retry policy for fetching Jwks. optional. turned off by default.
         For example:
         .. code-block:: yaml
           retry_policy:
             retry_back_off:
               base_interval: 0.01s
               max_interval: 20s
             num_retries: 10
         will yield a randomized truncated exponential backoff policy with an initial delay of 10ms
         10 maximum attempts spaced at most 20s seconds.
         .. code-block:: yaml
           retry_policy:
             num_retries:1
         uses the default :ref:`retry backoff strategy <envoy_v3_api_msg_config.core.v3.BackoffStrategy>`.
         with the default base interval is 1000 milliseconds. and the default maximum interval of 10 times the base interval.
         if num_retries is omitted, the default is to allow only one retry.
         If enabled, the retry policy will apply to all Jwks fetching approaches, e.g. on demand or asynchronously in background.
         
        .envoy.config.core.v3.RetryPolicy retry_policy = 4;
        Specified by:
        hasRetryPolicy in interface RemoteJwksOrBuilder
        Returns:
        Whether the retryPolicy field is set.
      • getRetryPolicy

        public RetryPolicy getRetryPolicy()
         Retry policy for fetching Jwks. optional. turned off by default.
         For example:
         .. code-block:: yaml
           retry_policy:
             retry_back_off:
               base_interval: 0.01s
               max_interval: 20s
             num_retries: 10
         will yield a randomized truncated exponential backoff policy with an initial delay of 10ms
         10 maximum attempts spaced at most 20s seconds.
         .. code-block:: yaml
           retry_policy:
             num_retries:1
         uses the default :ref:`retry backoff strategy <envoy_v3_api_msg_config.core.v3.BackoffStrategy>`.
         with the default base interval is 1000 milliseconds. and the default maximum interval of 10 times the base interval.
         if num_retries is omitted, the default is to allow only one retry.
         If enabled, the retry policy will apply to all Jwks fetching approaches, e.g. on demand or asynchronously in background.
         
        .envoy.config.core.v3.RetryPolicy retry_policy = 4;
        Specified by:
        getRetryPolicy in interface RemoteJwksOrBuilder
        Returns:
        The retryPolicy.
      • getRetryPolicyOrBuilder

        public RetryPolicyOrBuilder getRetryPolicyOrBuilder()
         Retry policy for fetching Jwks. optional. turned off by default.
         For example:
         .. code-block:: yaml
           retry_policy:
             retry_back_off:
               base_interval: 0.01s
               max_interval: 20s
             num_retries: 10
         will yield a randomized truncated exponential backoff policy with an initial delay of 10ms
         10 maximum attempts spaced at most 20s seconds.
         .. code-block:: yaml
           retry_policy:
             num_retries:1
         uses the default :ref:`retry backoff strategy <envoy_v3_api_msg_config.core.v3.BackoffStrategy>`.
         with the default base interval is 1000 milliseconds. and the default maximum interval of 10 times the base interval.
         if num_retries is omitted, the default is to allow only one retry.
         If enabled, the retry policy will apply to all Jwks fetching approaches, e.g. on demand or asynchronously in background.
         
        .envoy.config.core.v3.RetryPolicy retry_policy = 4;
        Specified by:
        getRetryPolicyOrBuilder in interface RemoteJwksOrBuilder
      • isInitialized

        public final boolean isInitialized()
        Specified by:
        isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
        Overrides:
        isInitialized in class com.google.protobuf.GeneratedMessageV3
      • writeTo

        public void writeTo​(com.google.protobuf.CodedOutputStream output)
                     throws IOException
        Specified by:
        writeTo in interface com.google.protobuf.MessageLite
        Overrides:
        writeTo in class com.google.protobuf.GeneratedMessageV3
        Throws:
        IOException
      • getSerializedSize

        public int getSerializedSize()
        Specified by:
        getSerializedSize in interface com.google.protobuf.MessageLite
        Overrides:
        getSerializedSize in class com.google.protobuf.GeneratedMessageV3
      • equals

        public boolean equals​(Object obj)
        Specified by:
        equals in interface com.google.protobuf.Message
        Overrides:
        equals in class com.google.protobuf.AbstractMessage
      • hashCode

        public int hashCode()
        Specified by:
        hashCode in interface com.google.protobuf.Message
        Overrides:
        hashCode in class com.google.protobuf.AbstractMessage
      • parseFrom

        public static RemoteJwks parseFrom​(ByteBuffer data)
                                    throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static RemoteJwks parseFrom​(ByteBuffer data,
                                           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                    throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static RemoteJwks parseFrom​(com.google.protobuf.ByteString data)
                                    throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static RemoteJwks parseFrom​(com.google.protobuf.ByteString data,
                                           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                    throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static RemoteJwks parseFrom​(byte[] data)
                                    throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static RemoteJwks parseFrom​(byte[] data,
                                           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                    throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static RemoteJwks parseFrom​(com.google.protobuf.CodedInputStream input,
                                           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                    throws IOException
        Throws:
        IOException
      • newBuilderForType

        public RemoteJwks.Builder newBuilderForType()
        Specified by:
        newBuilderForType in interface com.google.protobuf.Message
        Specified by:
        newBuilderForType in interface com.google.protobuf.MessageLite
      • toBuilder

        public RemoteJwks.Builder toBuilder()
        Specified by:
        toBuilder in interface com.google.protobuf.Message
        Specified by:
        toBuilder in interface com.google.protobuf.MessageLite
      • newBuilderForType

        protected RemoteJwks.Builder newBuilderForType​(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)
        Specified by:
        newBuilderForType in class com.google.protobuf.GeneratedMessageV3
      • getDefaultInstance

        public static RemoteJwks getDefaultInstance()
      • parser

        public static com.google.protobuf.Parser<RemoteJwks> parser()
      • getParserForType

        public com.google.protobuf.Parser<RemoteJwks> getParserForType()
        Specified by:
        getParserForType in interface com.google.protobuf.Message
        Specified by:
        getParserForType in interface com.google.protobuf.MessageLite
        Overrides:
        getParserForType in class com.google.protobuf.GeneratedMessageV3
      • getDefaultInstanceForType

        public RemoteJwks getDefaultInstanceForType()
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder