title: Intercept gRPC C++ calls in server and client
body: <p>Basic task I want to do: Provide a <code>Authenticate</code> service in gRPC server that all clients call (and supply user name and password) initially to obtain a authorization token (say JWT). Next, when other service calls are made by the client, the token should be verified.</p>
  
  <p>This can be accomplished in Java APIs easily using <code>ServerInterceptor</code> and <code>ClientInterceptor</code> interfaces. In <code>ServerInterceptor</code> I can check which service is called and decide whether to allow or deny the call. On the <code>ClientInterceptor</code> side I can add the authorization token as metadata to every service call. </p>
  
  <p>There is this <code>AuthMetadataProcessor</code> abstract class in C++. But not sure how to accomplish the task similar to Java APIs. Is there a way to do similar things in C++ APIs ?</p>