从邮递员的API连接对象存储时未经授权的错误

时间:2016-10-29 13:49:07

标签: api restful-authentication postman ibm-cloud-infrastructure object-storage

我正在尝试使用post post中提供的API获取对象存储容器详细信息但是我收到了未经授权的错误,

可在的API信息 http://developer.openstack.org/api-ref/object-storage/index.html?expanded=get-object-content-and-metadata-detail,show-account-details-and-list-containers-detail#accounts

以下详细信息我在PostMan中设置,

方法获取

网址: https:// {domain} .objectstorage.softlayer.net / auth / v1.0 / {userid}?format = json

标题   密钥:X-Auth-Token   价值:{token}

PostMan回复出错,

<html>
    <h1>Unauthorized</h1>
    <p>This server could not verify that you are authorized to access the document you requested.</p>
</html>

3 个答案:

答案 0 :(得分:1)

要使用 Postman 从对象存储中检索容器,请按以下步骤操作:

1。我们需要生成令牌以访问对象存储

您需要从对象存储中获取凭据,因此您可以访问:

  

Control Portal&gt;&gt;对象存储&gt;&gt;   选择帐户名称(例如SLOS123123-10)&gt;&gt;选择Cluster(例如米兰)   1)&gt;&gt;点击&#34;查看凭证&#34;

您将能够看到

  • &#34;身份验证端点(公共和私有)&#34;
  • &#34;用户名&#34;
  • &#34; API密钥(密码)&#34;

然后,你可以去邮递员并填写如下例子:

enter image description here

如您所见,我在请求方面取得了成功。所以我需要&#34; 标题&#34;响应中的信息,如下例所示:

enter image description here

2。检索容器

获得&#34; X-Storage-Url &#34;和&#34; X-Storage-Token &#34;,您可以检索容器,如下例所示:

enter image description here

我希望它可以帮助您使用Postman访问对象存储,请让我知道任何疑问或评论。

答案 1 :(得分:0)

您使用的是SoftLayer用户名还是Object Storage用户名?要获取对象存储凭据,请转至https://control.softlayer.com/storage/objectstorage&gt;单击“对象存储用户名”,然后在下一页上单击“查看凭据”。

获取令牌 curl -i -H "X-Auth-Key: [insert API Key here]" -H "X-Auth-User: [insert Object Storage Username here]" [insert Authentication Endpoint here]

获得令牌后,您可以执行基本操作

列出容器 curl -i -H 'X-Auth-Token: [X-Auth-Token from Authentication step]' [X-Storage-Url from Authentication step]

查看容器中的对象 curl -i -H "X-Auth-Token: [X-Auth-Token from Authentication step]" [X-Storage-Url from Authentication step]/[container name]

答案 2 :(得分:0)

首先,您收到的错误是因为请求中的userid参数不正确。 X-Storage-Url应该放在那个位置。

要检索容器,首先需要X-Auth-Token和X-Storage-Url。为此,您可以运行下一个curl命令:

curl -i -H "X-Auth-User: ACC-278436-15:USERNAME " -H "X-Auth-Key: API_KEY " https://dal05.objectstorage.softlayer.net/auth/v1.0

ACC-278436-15:从SoftLayer_Account :: getHubNetworkStorage方法检索的对象存储用户名

USERNAME:控制门户中使用的用户名与调用SoftLayer_Account :: getHubNetworkStorage方法的REST请求中使用的用户名相同

API_KEY: REST请求中使用的apikey调用SoftLayer_Account :: getHubNetworkStorage方法

结果与此类似:

•X-Auth-Token:AUTH_tkb26239d441d6401d9482b004d45f7259 - 我们需要的令牌

•X-Storage-Url:https://dal05.objectstorage.softlayer.net/v1/AUTH_df0de35c-d00a-40aa-b697-2b7f1b9331a6 - 访问存储空间的URL

现在以这种方式放置这些值: enter image description here

这里有关于如何通过rest API管理SoftLayer对象存储的良好链接 https://sldn.softlayer.com/blog/waelriac/managing-softlayer-object-storage-through-rest-apis