2

可以对 Kubernetes 入口(如 kong、nginx)执行授权(基于规则的类似)。例如,我有这个:

apiVersion:扩展/v1beta1

kind: Ingress
metadata:
  name: foo-bar
spec:
  rules:
  - host: api.foo.bar
    http:
      paths:
      - path: /service
        backend:
          serviceName: service.foo.bar
          servicePort: 80

但是在重定向到 /service 之前,我需要在我的授权 api 中执行调用以验证请求令牌是否具有传递 /service 的规则。

或者我真的需要使用像spring zuul这样的入口后面的API网关来做到这一点?

4

1 回答 1

1

Ingressmanifest 只是控制器的输入。您还需要一个Ingress Controller,一个理解Ingress对象的代理。Kong 和 Nginx 是两个实现的例子。

Nginx Ingress Controller由 Kubernetes 社区提供,它有一个使用注释配置外部 oauth2 代理的示例

annotations:
  nginx.ingress.kubernetes.io/auth-url: "https://$host/oauth2/auth"
  nginx.ingress.kubernetes.io/auth-signin: "https://$host/oauth2/start?rd=$escaped_request_uri"
于 2019-11-23T15:55:42.103 回答