本文主要是想分享一下:
如果在统一认证的基础上,想对某次rpc请求添加额外的认证,如何实现?
统一认证,就是用grpc.WithPerRPCCredentials函数来设置的;
那么,既然想针对某次rpc请求添加额外的认证的话,肯定是对rpc请求时添加设置,即可以使用grpc.PerRPCCredsCallOption来实现。
1、场景说明? |
为了模拟这种场景,我们重新创建一个服务SayService,该服务上有两个方法,如SayHello, SayWorld;
其中:
SayHello方法,除了统一认证外,还要额外添加一个认证;
SayWorld方法,只使用统一认证。
在服务器端一侧,统一认证,可以使用拦截器来做;
而SayHello方法中,需要再添加一个认证,针对的是grpc.PerRPCCredsCallOption设置的认证。