2013-07-17 2 views
3

У меня есть приложение Rails, которое позволяет пользователям загружать файлы. Они в настоящее время загружают (через POST) на сервер, который затем использует туманную жемчужину для загрузки в Google Cloud Storage. Проблема в том, что файлы универсальны для всех, кто знает URL-адрес, который я хочу предотвратить.Как напрямую загружать файлы из браузера в Google Cloud в Rails

Так что теперь у меня есть два вопроса, которые я хотел бы, чтобы решить:

  • Я хотел бы, чтобы пользователи могли загружать в Google непосредственно из браузеров
  • которые я хотел бы, чтобы предотвратить все от загрузки файлов , но пользователи, которые вошли в мое приложение

Я загрузил файл p12, созданный Google API, но теперь я застрял. В соответствии с documentation мне нужно сгенерировать ключ (сделанный с gome-go-api-client) и подпись (не сделана), а затем поместить их в заголовки POST, если я правильно понял?

Есть ли у кого-нибудь пример, который я мог бы использовать?

EDIT: Понял это сделать, секрет в Интероперабельные хранения ключей доступа и SHA1, что Google документации не говорят. В ближайшее время я расскажу об этом решении в блоге.

+1

Мне интересно, как вы решили это. Вы собрали сообщение в блоге? –

+0

откомандирование этого. В настоящее время разрабатывает угловое приложение и хочет загружать фотографии непосредственно в облачное хранилище Google. –

ответ

1

Вот пример generating signed URLs in Python. Детали будут разными в Ruby, но процесс тот же.

+0

Это применимо только для запросов, отличных от POST, поэтому это не относится к моему первому вопросу. –