【问题标题】:Istio: auth url support in end user authenticationIstio:最终用户身份验证中的 auth url 支持
【发布时间】:2019-06-06 19:23:17
【问题描述】:

我希望在 istio+kubernetes 上进行 3 条腿 oauth。我没有找到将未经身份验证的请求路由到执行身份验证并将流量路由回目标服务的身份验证代理服务的方法。我已经使用以下注释使用nginx kubernetes 入口控制器完成了此操作 -

nginx.ingress.kubernetes.io/auth-url //请求转发到的Auth url nginx.ingress.kubernetes.io/auth-signin //上面返回401时请求路由到的登录页面

我在 Istio 中没有找到等效的。我检查了documentation,它说除了 jwt 之外它还支持自定义身份验证,但是我没有找到任何这样的支持。

【问题讨论】:

  • 也许这会有所帮助End User Authentication
  • 谢谢@Crou。它执行基于 jwt 的身份验证,但不能执行 3-legged oauth 流并获取令牌,这是受保护 UI 资源的典型模型。

标签: nginx oauth-2.0 kubernetes istio nginx-ingress


【解决方案1】:

回答我自己的问题。 在这一点上,我已经想出唯一的方法是通过 istio 上的EnvoyFilter。这允许我们编写一个自定义的lua filter 来将未经身份验证的请求路由到可以执行 3-legged oauth 流的 oauth 代理。

请求控制流程是

客户端 --> 入口网关 --> istio-proxy sidecar --> 特使过滤器 --> 目标

过滤器能够进行 http 调用和操作标头,这符合此要求。

编辑: 有关它的详细信息是here

【讨论】:

  • 您能详细说明一下您的 lua 过滤器吗?谢谢
猜你喜欢
  • 1970-01-01
  • 2019-02-01
  • 1970-01-01
  • 2019-09-27
  • 2022-01-27
  • 2021-06-23
  • 2019-07-08
  • 1970-01-01
  • 2013-01-14
相关资源
最近更新 更多