我正在尝试在 GKE 集群上设置 Kong,以便验证传入的请求。我有一个我想用于验证的 jwks 文件/uri。
我已按照以下步骤...
部署通过服务公开的 hello world 应用程序。
安装 Kong
kubectl apply -f https://raw.githubusercontent.com/Kong/kubernetes-ingress-controller/master/deploy/single/all-in-one-dbless.yaml
设置 Kong JWT 插件
apiVersion: configuration.konghq.com/v1 kind: KongPlugin metadata: name: weather-jwt namespace: weather-api plugin: jwt
创建入口
apiVersion: networking.k8s.io/v1beta1 kind: Ingress metadata: name: weather-ingress namespace: weather-api annotations: kubernetes.io/ingress.class: kong plugins.konghq.com: weather-jwt spec: backend: serviceName: weather-service servicePort: 80
我看到的下一步是..
创建一个具有公钥的秘密,例如
apiVersion: v1 kind: Secret metadata: name: apiuser-apikey namespace: weather-api type: Opaque stringData: kongCredType: jwt key: https://farrellsoft.auth0.com/ algorithm: RS256 rsa_public_key: |- -----BEGIN PUBLIC KEY----- MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA3PYgeiVyURLhqAkkUOfL roY281upGVWgBTZKZu6rIMPCiyzuZU8Rnlc1k+cHkbov0uRZIVmwrhMLTr6E9ZwD -----END PUBLIC KEY-----
创建 kong 消费者
apiVersion: configuration.konghq.com/v1 kind: KongConsumer metadata: name: api-consumer namespace: weather-api username: apiUser credentials: - apiuser-apikey
这应该一切正常......问题是我没有秘密的公钥。我所拥有的只是 JWKS uri 之类的东西https://YOUR_DOMAIN/.well-known/jwks.json
,我不确定如何使用它进行令牌验证。有没有我需要使用的其他插件。