使用Istio端点身份验证使用Firebase身份验证JWT

时间:2020-10-09 09:53:29

标签: kubernetes-ingress istio nginx-ingress

我有一个带有GLCB的GKE后端(使用Ingress-GCP,基于到各种bakend服务的路径进行路由)。我需要验证标头中的令牌,并将请求传递给后端(如果它是有效令牌)。为了检查令牌的有效性,我需要传递给firebase。一旦Firebase说好,然后路由到正确的后端。

我最初使用的是Ingress-GCE,但似乎只有使用Istio才能实现。有人可以建议如何进行基于istio的最终用户身份验证吗?

1 个答案:

答案 0 :(得分:1)

您可以使用AuthorizationPolicyRequestAuthentication来执行此操作。 istio文档中有example

Istio在RequestAuthentication中做什么?

如上所述here

RequestAuthentication定义工作负载支持哪些请求身份验证方法。如果请求包含无效的身份验证信息,则根据配置的身份验证规则,If将拒绝该请求。不包含任何身份验证凭据的请求将被接受,但不具有任何身份验证身份。要仅限制对经过身份验证的请求的访问,应附有授权规则。


如上所述here

issuer->标识颁发JWT的颁发者。请参阅发行者。具有不同iss索赔的JWT将被拒绝。

示例:https://foobar.auth0.com示例:1234567-compute@developer.gserviceaccount.com

jwksUri->提供者的公共密钥集的URL,用于验证JWT的签名。请参阅OpenID发现。

示例:https://www.googleapis.com/oauth2/v1/certs

有2个用于Firebase的jwtRules和jwskUri示例。

所有资源: