我正在使用grpc-java进行PoC,此测试的主要目标之一是验证元数据/消息完整性;基本上,我正在尝试散列一些调用属性(用户、时间、traceId等)。并将发送到服务器的数据放入作为元数据发送的单个JWT令牌中。
我面临的问题是,使用ClientInterceptor和SimpleForwardingClientCall时,"sendMessage“方法是在元数据可用的"start”方法之后调用的,我将从该方法获取消息哈希。根据设计,元数据是在执行"start“方法时发送的,所以我必须计算在此之前发送的数据的哈希值。
有没有人做过这样的事情?我是不是缺少了一些功能?
感谢你的帮助或建议...
发布于 2018-07-28 04:08:24
您可以延迟调用next.newCall()
或clientCall.start()
,直到您的拦截器的sendMessage()
被调用。您需要将值保存在字段中,然后在调用sendMessage()
时回放它们。
https://stackoverflow.com/questions/51544736
复制相似问题