首页 > 解决方案 > 不同版本端点部署的 ApiKey 安全性

问题描述

一些上下文:我们有一个在 kubernetes(GKE) 上运行的烧瓶应用程序。我们使用谷歌云端点来管理对我们 api 的访问和密钥管理。我们通过 flask-restplus 创建文档并使用它来配置我们的端点。一个重要的必须是我们的招摇 UI 文档必须可以在没有 ApiKey 的情况下访问,因此我们在端点配置中设置了“x-google-allow”:“all”。以上所有工作。

问题:我们希望在 API 中部署重大更改,因此我们选择了此处描述的新版本。这意味着一个新的基本路径。因此,我们创建了 2 个端点配置文件,一个带有基本路径 /api/1/,一个带有 /api/2,它们都具有相同的主机和“x-google-allow”:“all”标志。

使用 2 个配置进行部署是可行的,但只有版本 2 (/api/2/doc/) 的 swagger UI 可用。如果我们想访问旧版本的文档(/api/1/doc/),我们需要一个 API 密钥(然后它会返回一个空白屏幕)。如果我们在本地托管相同的烧瓶应用程序,我们可以访问两个文档页面。我们需要提供两个版本的文档(我们有其他方在使用我们的 API)

我尝试更改“x-google-allow”:“all”,然后在端点配置中使用“security”:[] 添加到 /doc 页面的路径,但问题仍然存在。

标签: flaskswaggergoogle-cloud-endpointsswagger-ui

解决方案


推荐阅读