繁体   English   中英

在 Google Cloud 上自动生成 API 密钥

[英]Automate API key generation on Google Cloud

我们目前正在开发基于 Google Cloud Functions 的 API 以及 Google 的 API 网关。

As every customer who buys access to our API should get their own API key, I'm wondering if there's a ways to create those API keys using and API. 我想要实现的是客户能够在他们自己的设置中请求一个 API 密钥,所以单击一个按钮,这会触发一个 function,生成一个密钥并将其显示给前端的客户。

在搜索了相当长的一段时间后,我没有找到任何关于如何构建它的信息。 也可能是我的处理方法是完全错误的——如果是这样,请烤我并给我一些建议!

提前感谢您的回答!

无法通过程序创建 Google 凭据,它们必须手动创建。

事实上,有一些东西。 有一段时间处于测试阶段(超过 1 年前),很快又回到了 alpha 阶段,并且没有记录(或非常糟糕)

正如您在 gcloud alpha 命令中看到的,您可以将 API 密钥与 CLI 和 API 一起使用。 使用此命令测试并了解如何使用 API 密钥的更多信息。

gcloud alpha services api-keys create --display-name="created by API" --log-http

谨慎使用

首先,我没有关于这个 API 的更新,它会存活吗? Google 的生命周期和“没有消息”很奇怪,请记住 API 可以随时删除。

其次,API Keys 是一种长期存在的令牌,出于安全原因不推荐使用。 但有时,有总比没有好,所以在没有其他解决方案的情况下使用它是可以接受的。 否则,更喜欢 OAuth。

最终,API 密钥验证项目,而不是客户/用户。 在 API 网关请求转发之后,您不会在 header 数据中拥有它。 只有项目 ID(或编号,我不记得了)。 因此,如果您想区分每个客户/用户,您需要创建不同的项目,并在每个项目中生成一个密钥。 如果您在 API 网关上实施速率限制,同样的事情:配额是每个项目而不是每个 API 密钥。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM