Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/sharepoint/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ibm cloud 具有API密钥访问的IBM云函数_Ibm Cloud_Ibm Cloud Functions - Fatal编程技术网

Ibm cloud 具有API密钥访问的IBM云函数

Ibm cloud 具有API密钥访问的IBM云函数,ibm-cloud,ibm-cloud-functions,Ibm Cloud,Ibm Cloud Functions,我已经创建了一个IBMCloudFunction操作,并将Web操作附加到它。在“API”中,我能够通过“POST https://example.com/hello”定义要访问的函数。经过测试,这一切工作正常 现在我想通过向我的一些客户机分发API密钥来保护这个API。在API管理中,我可以通过激活要求应用程序通过API密钥进行身份验证滑块看出这是可行的。一旦激活,我还可以根据每个键对呼叫进行分级限制 问题是:如何创建API键?我如何调用我的端点 到目前为止,我一直在“管理>访问(IAM)”,

我已经创建了一个IBMCloudFunction操作,并将Web操作附加到它。在“API”中,我能够通过“POST https://example.com/hello”定义要访问的函数。经过测试,这一切工作正常

现在我想通过向我的一些客户机分发API密钥来保护这个API。在API管理中,我可以通过激活
要求应用程序通过API密钥进行身份验证滑块看出这是可行的。一旦激活,我还可以根据
每个键对呼叫进行分级限制

问题是:如何创建API键?我如何调用我的端点

到目前为止,我一直在“管理>访问(IAM)”,然后
IBM Cloud API Key
并为我创建了一个API密钥(这不是我想要的,因为这是我所有具有管理员权限的帐户的API密钥,我想要的是一个API密钥,只允许我的用户调用我的API)。使用我的API密钥,我在curl中调用了API,如下所示:

curl -X POST "https:// example.com/hello" -H "X-IBM-Client-Id: <MY-API-KEY>"
curl-X POST“https://example.com/hello”-H“X-IBM-Client-Id:”

尽管如此,我还是得到了一份未经授权的401。。。所以我想可能是出了什么问题,但我不知道确切的原因。

你是对的。您创建的密钥用于所有命名空间。以下是为API端点创建密钥的文档-

这有点令人困惑:(。在创建API端点并将其映射到操作之后。您不必启用“作为web操作”才能与API网关一起使用

  • 您可以启用身份验证,然后保存API。这一点很重要。文档中说:
    注意:只有在第一次保存应用程序或API时,您才能看到选项卡。
  • 现在,您可以转到“共享”选项卡并仅为此API(而不是您的命名空间)创建一个新的API密钥
  • 3此时我可以使用该键。我正在使用
    API资源管理器中的
    试用
    功能。