gpt4 book ai didi

kubernetes - 在GRPC服务上使用JWT进行Istio最终用户身份验证

转载 作者:行者123 更新时间:2023-12-02 11:48:30 25 4
gpt4 key购买 nike

我想通过Istio在GRPC服务上设置auth policy

当前,可以在常规HTTP服务上添加策略,因为您可以使用Authorization header 将JWT token 传递给该服务。我有点迷失了,因为它似乎与GRPC服务的策略并不相似(您可以在请求的metadata中包括 token )。

是否有人设法将身份验证策略添加到由Istio管理的GRPC服务中?

最佳答案

如果您将JSON-to-GRPC Gateway用作istio ingressgrpc service之间的中间件,则可以为您获得解析为Authorizationmd['authorization'] header 。
JSON-to-GRPC Gateway source-code line其中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逻辑来实现相同的行为。

稍后可以通过 context在grpc-service中进行访问,如下所示:
// retrieve metadata from context
md, ok := metadata.FromContext(ctx)

md["authorization"]

关于kubernetes - 在GRPC服务上使用JWT进行Istio最终用户身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52038174/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com