2016-02-24 4 views
0

Я использую хранилище объектов IBM SoftLayer, которое похоже на S3 Amazon.Как загрузить файлы в SoftLayer из моего веб-приложения, не подвергая мое имя пользователя и ключу?

Из моего веб-приложения я разрешаю пользователям загружать файлы. В настоящее время веб-приложение связывается с моим RESTful API, который затем общается с API-интерфейсом хранения объектов SoftLayer. Для связи с SoftLayer требуется имя пользователя и ключ - они должны быть секретными.

Поскольку загрузка файлов может быть большой, я хочу обойти свой API и общаться с SoftLayer непосредственно из своего веб-приложения. Я считаю, что это возможно, но проблема в том, что тогда я буду раскрывать свое имя пользователя и секретный ключ через публично видимый источник моего приложения в JavaScript.

Есть ли способ обойти это с помощью SoftLayer?

Кажется, что-то подобное можно с S3:

+0

Я отчаянно ищу, как использовать хранилище объектов softlayer, особенно прямую загрузку ... вы бы хотели поделиться здесь кодом! Я буду благодарен – medBo

ответ

1

Вы можете создать маркер, действительный в течение 24 часов, и это устраняет необходимость в использовании учетные данные для каждого вызова.

Вы можете использовать этот «токен» для получения/создания/удаления контейнеров, файлов через API REST.

См «Аутентификация в Storage объекта» раздел в следующей ссылке:

Managing SoftLayer Object Storage Through REST APIs

Кроме того, вы найдете в этой ссылке, более подробную информацию об использовании SOFTLAYER хранения объектов через REST API.

+0

Ницца. Поэтому я мог бы запросить этот API-интерфейс и передать его обратно в мое веб-приложение, а затем моему веб-приложению никогда не понадобится знать имя пользователя или ключ. –

+0

Да, это правильно –

+0

Также обратите внимание, что установка «X-Container-Meta-Access-Control-Allow-Origin» на контейнере необходима. Кроме того, SoftLayer использует OpenStack/Swift, поэтому библиотеки OpenStack/Swift должны быть совместимы с SoftLayer. –