Вы можете получить Authorization
Заголовок, проанализированный для md['authorization']
, для вас, если вы используете JSON-to-GRPC Gateway в качестве промежуточного программного обеспечения между istio ingress и grpc service .
JSON-to-GRPC Gateway
строка исходного кода , где HTTP Header
Authorization
анализируется и добавляется к парам , которые станут метаданными:
for key, vals := range req.Header {
for _, val := range vals {
if key == "Authorization" {
pairs = append(pairs, "authorization", val)
continue
}
PS .: Если есть способ использовать пользовательскую функцию промежуточного программного обеспечения в самом istio , вы можете повторить логику grpc-gateway
для достижения того же поведения.
, к которому позже можно обратиться в grpc-service через context
, например:
// retrieve metadata from context
md, ok := metadata.FromContext(ctx)
md["authorization"]