我创建了一个 IBM Cloud Function ACTION 并将 Web 操作附加到它。在“API”中,我能够定义要使用“POST https://example.com/hello”访问的函数。经过测试,这一切正常。
现在我想通过向我的一些客户分发 API 密钥来保护这个 API。在 API 管理中,我可以通过激活Require applications to authenticate via API key
滑块看到这是可行的。激活后,我还可以对per-key basis
.
问题是:如何创建 API 密钥?以及如何调用我的端点?
到目前为止,我一直在“管理 > 访问(IAM)”,然后IBM Cloud API keys
为我创建了一个 API 密钥(这不是我想要的,因为这是我所有具有管理员权限的帐户的 API 密钥,我想要的是一个 API 密钥,允许我的用户只调用我的 API)。使用我的 API 密钥,我在 curl 中这样调用 API:
curl -X POST "https:// example.com/hello" -H "X-IBM-Client-Id: <MY-API-KEY>"
尽管如此,我还是得到了一个未经授权的 401 ......所以我想有什么问题,但我不知道到底是什么。