5

我想放在服务器应用程序上,Go APP 和 Java 应用程序都可以调用它。

出于某种原因,有一个 cookie 身份验证和 oAuth 机制,所以我想将一个 Go 应用程序设置为身份验证微服务来进行身份验证。

由于 GRPC 是建立在 HTTP2 之上的,所以 headers 和 cookie 在协议上。但是我没有找到当 rpc 发生时如何进行 header 和 cookie,由 Go 实现,在 GitHub 上我只找到了 JAVA-Implementation for标题在:

https://github.com/grpc/grpc-java/tree/master/examples/src/main/java/io/grpc/examples/header

有人可以为此目的给我一些 Go 实现的方向吗?

4

1 回答 1

20

gRPC 中的标头称为“元数据”。客户端只能发送“标头”。服务器可以发送“标题”和“拖车”。

你想要:

  • 使用google.golang.org/grpc/metadata包并客户端metadata.NewContext()发送元数据。
  • 使用grpc.SendHeader()and服务器端grpc.SetTrailer()发送元数据。
  • 使用grpc.Header()and客户端grpc.Trailer() CallOptions接收。Metadata
  • 用于服务器端metadata.FromContext()接收元数据。
于 2015-08-07T01:12:12.767 回答