【问题标题】:grpc header/cookie in GoGo中的grpc头/cookie
【发布时间】:2015-07-13 09:40:17
【问题描述】:

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

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

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

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

谁能为此目的给我一些 Go 实现的方向?

【问题讨论】:

  • 无耻插件:支持 gRPC Java 中的 cookie,实现为自定义 ClientInterceptor。通过检查从服务器的响应中接收到的 set-cookie HTTP 标头并使用请求中的 cookie HTTP 标头将 cookie 转发到服务器来管理 Cookie。 github.com/shamsimam/grpc-java-cookies

标签: go protocol-buffers grpc


【解决方案1】:

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

你想:

  • 使用google.golang.org/grpc/metadata 包和metadata.NewContext() 从客户端发送元数据
  • 使用grpc.SendHeader()grpc.SetTrailer() 从服务器端发送元数据
  • 使用grpc.Header()grpc.Trailer() CallOptions 在客户端接收Metadata on
  • 使用metadata.FromContext() 在服务器端接收元数据

【讨论】:

猜你喜欢
  • 2019-07-04
  • 2018-09-18
  • 2023-03-30
  • 1970-01-01
  • 2018-08-30
  • 2021-02-25
  • 2021-06-21
  • 1970-01-01
  • 2023-01-20
相关资源
最近更新 更多