akka grpc自定义身份验证

问题描述 投票:1回答:1

我正在使用akka gRpc(scala)并寻找一种通过使用自定义质询响应身份验证来验证grpc调用的方法。即,客户端使用某个密钥/身份调用grpc服务,服务以质询进行响应,客户端使用服务器可以验证的内容进行签名。

我一直在看grpc拦截器,但这是个好主意吗?服务器中的拦截器能否与客户端进行通信,客户端也需要一个拦截器来响应质询请求。

谢谢。

scala http authentication akka grpc
1个回答
1
投票

在拦截器中,挑战响应认证并不容易。拦截器主要管理元数据,客户端只在呼叫开始时发送请求元数据;客户端没有机会发送质询响应。

在Java / Scala中,可以创建一个可以执行此操作的拦截器,但它非常复杂。拦截器可以发出两个RPC:第一个接收质询,第二个是带有质询响应和实际请求的“真正”RPC。这需要拦截器缓冲发送的消息并执行类似于重试拦截器的操作。

您可以使用单独的“登录”RPC方法,该方法可以通过双向流进行质询 - 响应。但是握手的结果通常需要是“承载令牌”,可以在没有任何握手的情况下包含在将来的请求中。但那时它比OAuth / JWT好一点。

© www.soinside.com 2019 - 2024. All rights reserved.