validation - 通过代理验证 Istio 令牌
问题描述
Istio 支持AuthZ
和AuthN
服务,但是有没有办法通过代理实现令牌验证?
示例:用户/客户端向 Service-A 发送请求,请求命中 istio-ingressGateway,如果令牌有效,则网关通过另一个服务(验证服务)验证令牌用户/客户端如果不发送错误,则可以获取用户数据等效响应。
解决方案
您可以使用Netflix Zuul编写一个微网关服务,该服务将作为您的 Istio 网关的登陆服务。它可以使用快速令牌验证Zuul filters
,然后将请求转发到所需的服务或返回令牌错误响应。您可以使用此服务来发布令牌并托管 JWT 令牌的 JWK 密钥。
我已经为此编写了一个 Java 实现。
否则,您可以使用内部 Nginx 服务器作为所有请求的登陆点,然后使用http_auth_request_module
它进行快速身份验证,然后代理转发到其他服务。您可以在Nginx 文档中找到它。
不幸的是,到目前为止,我还没有找到 Istio 提供的任何东西。
推荐阅读
- python - X 等于 Y WHEN a==b 并且等于 Z WHEN b==c 在 Python 中
- javascript - 使用 webpack 在 React 组件中使用自定义 javascript 文件
- javascript - 如何在 JavaScript 中的日期范围之间获取重复的周日期计数?
- r - 将向量元素匹配到R中数据框中的不同级别
- c# - ASP.net core 2. 0 使用事务范围时出错:请求的操作无法完成,因为连接已断开
- python - 将一个列表的第 i 个索引与另一个列表的第 i+1 个索引进行比较
- youtube - 如何按订阅者数量获得最多的 youtube 频道
- java - 有没有办法在TestNG中向@Factory注解发送多个参数
- django - 如何在 django rest 中找到两个用户之间的连接?
- python - 如何在python中输入一对浮点数和整数