Проверка подлинности узла IBM Cloud Object Storage - PullRequest
0 голосов
/ 19 июня 2019

Я пытаюсь подключиться к хранилищу моего облачного объекта через nodejs (в node-red). Я не хочу использовать существующий SDK. Для простоты я буду использовать в этом вопросе почтальон / локон. Более того, следующий запрос должен перечислить все мои корзины.

Вот мой текущий запрос эквивалентного скручивания (созданный почтальоном)

GET / HTTP/1.1
Host: s3.us-south.cloud-object-storage.appdomain.cloud
ibm-service-instance-id: MY INSTANCE ID
Content-Type: text/plain
Authorization: Bearer MYTOKEN
User-Agent: PostmanRuntime/7.13.0
Accept: */*
Cache-Control: no-cache
Postman-Token: POSTMAN TOKEN
Host: s3.us-south.cloud-object-storage.appdomain.cloud
accept-encoding: gzip, deflate
Connection: keep-alive
cache-control: no-cache

Но это возвращает:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Error>
    <Code>AccessDenied</Code>
    <Message>Access Denied</Message>
    <Resource></Resource>
    <RequestId>REQ ID</RequestId>
    <httpStatusCode>403</httpStatusCode>
</Error>

Есть что-то, чего мне не хватает? Я ссылаюсь на эту документацию: https://cloud.ibm.com/docs/services/cloud-object-storage/cli?topic=cloud-object-storage-compatibility-api-bucket-operations#compatibility-api-list-buckets

1 Ответ

1 голос
/ 19 июня 2019

Вам необходимо получить токен авторизации API.Для этого вам нужен ключ API, который вы уже получили.См. Здесь , как запросить токен доступа IAM .В основном:

curl -X "POST" "https://iam.cloud.ibm.com/identity/token" \
     -H 'Accept: application/json' \
     -H 'Content-Type: application/x-www-form-urlencoded' \
     --data-urlencode "apikey={api-key}" \
     --data-urlencode "response_type=cloud_iam" \
     --data-urlencode "grant_type=urn:ibm:params:oauth:grant-type:apikey"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...