Go 中的 grpc header/cookie

grpc header/cookie in Go

我想在服务器应用程序上做一个可以被 Go APP 和 Java 应用程序调用的地方。

由于某种原因,有一个cookie认证和oAuth机制,所以我想将一个Go应用程序设置为AuthMicro-service以进行认证。

由于GRPC是建立在HTTP2之上的,所以headers和cookies是在protocol.but上的我没有找到rpc时如何进行header和cookie发生,由 Go 实现,在 GitHub 我只在 :

找到 headers 的 JAVA-Implementation
https://github.com/grpc/grpc-java/tree/master/examples/src/main/java/io/grpc/examples/header

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

Headers 在 gRPC 中调用 "Metadata." 客户端只能发送 "headers"。服务器可以同时发送 "headers" 和 "trailers."

您想:

  • 使用 google.golang.org/grpc/metadata 包和 metadata.NewContext() 从 client-side 发送元数据
  • 使用 grpc.SendHeader()grpc.SetTrailer() server-side 发送元数据
  • 使用 grpc.Header()grpc.Trailer() CallOptions 接收 Metadata client-side。
  • 使用 metadata.FromContext() 在 server-side.
  • 上接收元数据