在 Google 云上自动生成 API 密钥
Automate API key generation on Google Cloud
我们目前正在开发基于 Google Cloud Functions 的 API 以及 Google 的 API 网关。
因为每位购买我们 API 访问权限的客户都应该获得自己的 API 密钥,我想知道是否有办法使用和 [= 创建这些 API 密钥20=]。我想要实现的是客户能够在他们自己的设置中请求一个 API 密钥,所以点击一个按钮,这会触发一个功能,生成一个密钥并将其显示给前端的客户。
找了好久,没找到关于如何构建的任何信息。也有可能是我的处理方式完全错误——如果是这样的话,请大家多多指教,多多指教!
提前感谢您的回答!
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 密钥验证项目,而不是 customer/user。 API 网关请求转发后,您将不会在 header 数据中拥有它。只有项目 ID(或编号,我不记得了)。这样,如果要区分每个customer/user,就需要创建不同的项目,并在每个项目中生成一个key。如果您在 API 网关上实施速率限制,同样的事情:配额是每个项目而不是每个 API 键。
我们目前正在开发基于 Google Cloud Functions 的 API 以及 Google 的 API 网关。
因为每位购买我们 API 访问权限的客户都应该获得自己的 API 密钥,我想知道是否有办法使用和 [= 创建这些 API 密钥20=]。我想要实现的是客户能够在他们自己的设置中请求一个 API 密钥,所以点击一个按钮,这会触发一个功能,生成一个密钥并将其显示给前端的客户。
找了好久,没找到关于如何构建的任何信息。也有可能是我的处理方式完全错误——如果是这样的话,请大家多多指教,多多指教!
提前感谢您的回答!
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 密钥验证项目,而不是 customer/user。 API 网关请求转发后,您将不会在 header 数据中拥有它。只有项目 ID(或编号,我不记得了)。这样,如果要区分每个customer/user,就需要创建不同的项目,并在每个项目中生成一个key。如果您在 API 网关上实施速率限制,同样的事情:配额是每个项目而不是每个 API 键。