Package io.grpc.auth

Class ClientAuthInterceptor

  • All Implemented Interfaces:

    public final class ClientAuthInterceptor
    extends Object
    implements ClientInterceptor
    Client interceptor that authenticates all calls by binding header data provided by a credential. Typically this will populate the Authorization header but other headers may also be filled out.

    Uses the new and simplified Google auth library:

    • Constructor Detail

      • ClientAuthInterceptor

        public ClientAuthInterceptor​( credentials,
                                     Executor executor)
    • Method Detail

      • interceptCall

        public <ReqT,​RespT> ClientCall<ReqT,​RespT> interceptCall​(MethodDescriptor<ReqT,​RespT> method,
                                                                             CallOptions callOptions,
                                                                             Channel next)
        Description copied from interface: ClientInterceptor
        Intercept ClientCall creation by the next Channel.

        Many variations of interception are possible. Complex implementations may return a wrapper around the result of next.newCall(), whereas a simpler implementation may just modify the header metadata prior to returning the result of next.newCall().

        next.newCall() must not be called under a different Context other than the current Context. The outcome of such usage is undefined and may cause memory leak due to unbounded chain of Contexts.

        Specified by:
        interceptCall in interface ClientInterceptor
        method - the remote method to be called.
        callOptions - the runtime options to be applied to this call.
        next - the channel which is being intercepted.
        the call object for the remote operation, never null.