有没有一种第三方服务可以在不要求用户在GCP上开户的情况下进行api密钥管理?

问题描述 投票:2回答:1

如果我想做一个公共的api,我很确定我需要某种第三方供应商来管理api密钥认证,因为替代方案会是一些低效率的东西,比如字母数字生成器和对照密钥数据库进行检查。

我对Cloud Endpoints进行了一些研究,认为它是一个潜在的解决方案,因为它可以处理api密钥,但根据他们的研究,他们的 文件任何潜在的用户都需要在我的api上注册一个GCP项目才能获得api密钥。这很愚蠢,因为注册api的正确方法不是强迫那些可能根本不使用GCP的人去做一个账户。

那么,有没有什么服务,不管是来自Google还是其他人,可以让我自行决定生成和管理api密钥(所以我决定用户如何注册api密钥,并控制它的发放),同时有一个干净的验证解决方案,我可以为Spring Boot api实现?

编辑:我应该澄清一下所述想象中的服务可以提供的一些功能,这些功能可能会重新发明轮子来手动实现。

  • 速率限制,以锁定任何快速发出过多请求的 api 密钥。

  • 使用限制,比如说每天N个请求或类似的东西。

  • 密钥认证的效率,以保证api本身的性能。

  • 确保钥匙的唯一性

  • 允许按需创建和终止键,比如说一个angular app。

如果你的API需要一个API密钥,你必须给你的API用户一个来自你创建Cloud Endpoints服务的项目的密钥,或者你可以让用户在自己的Google Cloud项目中启用你的API并创建一个API密钥。

我也注意到了这个动词,所以它不会是完美的解决方案,但如果有办法通过代码来实现这个目标,我可以考虑Cloud Endpoints。如果有办法为我的GCP项目自动创建+分发api密钥作为黑客的变通方法,那肯定是一个解决方案。

不过目前我能找到的关于该操作的唯一说明就是通过UI手动操作,这是不可行的。

spring-boot google-cloud-platform google-cloud-endpoints openapi
1个回答
1
投票

浏览器 在谷歌云上可能是你想研究的。它有许多解决方案和指南。

此外,如果您愿意,您可以使用Apigee进一步扩展API以实现货币化。

© www.soinside.com 2019 - 2024. All rights reserved.