我在Golang中实现了grpc服务器。该服务器具有多个端点,但是对于其中一个端点,我想实现一个拦截器,该拦截器将在进行请求之前检查身份验证令牌的有效性。我知道如何实现在请求到达任何grpc端点时将运行的拦截器,但是如何使我的拦截器仅在一个特定的端点上运行?
答案 0 :(得分:0)
对于那些感兴趣的人,我可以通过检查拦截器的grpc.UnaryServerInfo参数来找到请求的方法。有一个名为FullMethod的属性,可为您提供请求的终结点。
答案 1 :(得分:0)
您可以获取方法名称并在通过拦截器获取请求时进行比较。您的自定义拦截器将有一个名为 ServerInfo 的组件,它可以帮助您过滤要调用的方法。基于此,您可以过滤掉您的身份验证端点