Python grpc拦截器和用户认证



我有一个python grpc服务,它的API方法需要了解用户信息,例如用户名电子邮件地址,以进行各种过滤。

我有一个python服务器端grpc拦截器附加到服务,解码jwt(通过客户端的请求上下文传递)的声明和验证真实性。如果令牌无效,拦截器将中止调用,并从令牌解码声明列表。但事情是我需要能够在jwt声明信息传递到我的API方法,所以他们可以使用该信息做过滤(理想情况下,我希望能够附加解码的用户名到日志中的所有API调用拦截器)。

似乎,在拦截器中,我应该能够将用户名声明从令牌解码到上下文并将其传递给API方法?但是我没有找到任何关于如何修改上下文的文档。

我的API确实可以使用token访问上下文,并且可以自己解码声明,但是在每个API方法定义中添加一个装饰器或方法来解码token对我来说似乎很奇怪。

grpc/python团队对读写能力感兴趣。从我所看到的,存储库维护者回答了问题,并且grpc/python的示例只展示了如何读取,而不是写入。现在,看起来好像没有办法通过python实现来处理这个。对于服务器端,操作客户端负载的唯一选择是在服务端做一些事情。

最新更新