ownCloud обменивается файлами с краткосрочным токеном или чем-то подобным?

Я делюсь файлами с сервера ownCloud, а затем вставляю ссылки на внешний сайт Drupal (что требует от пользователя входа в систему, прежде чем он сможет получить доступ).

До сих пор я использую «общий API» ownCloud REST для аутентификации на сервере ownCloud и возврата ссылки на файл, однако эта ссылка является постоянной и может быть повторно использована без аутентификации в будущем. Таким образом, если пользователь скопирует URL-ссылку, он сможет сохранить доступ к файлам, даже если его учетные данные на внешнем сайте будут отозваны.

Поскольку эти ссылки встроены в аутентифицированную страницу, я хотел бы, чтобы пользователи не входили в ownCloud снова для загрузки файлов, поэтому я хотел бы защитить их с помощью краткосрочного токена или чего-то подобного (я представляю себе рабочий процесс: пользователь входит на внешний сайт Drupal, сервер сайта аутентифицируется на сервере ownCloud, получает токены и добавляет токены к ссылкам для скачивания).

До сих пор я искал официальные форумы, размещал сообщения на бирже экспертов, читал документацию и много гуглил. Мне кажется, что этой функции не существует, однако, похоже, она должна быть. Итак, если кто-то знает, как это можно сделать? Альтернативные решения, которые могли бы дать аналогичный результат, также приветствуются!


person weaverk    schedule 12.06.2014    source источник
comment
Как насчет использования приложения для этого: приложения. owncloud.com/content/show.php/   -  person www    schedule 20.07.2014


Ответы (3)


Если вы ознакомитесь с документацией по OC Share API, вы можно увидеть, что существует параметр «пароль» для добавления пароля к ссылке:

Создать новый общий ресурс
Поделитесь файлом/папкой с пользователем/группой или по общедоступной ссылке.

  • Синтаксис: /акции
  • Метод: ПОСТ
  • Аргументы POST: path - (строка) путь к файлу/папке, к которому необходимо предоставить общий доступ
  • Аргументы POST: shareType - (int) ‘0’ = пользователь; «1» = группа; «3» = публичная ссылка
  • Аргументы POST: shareWith - (строка) идентификатор пользователя/группы, с которым должен быть предоставлен общий доступ к файлу.
  • Аргументы POST: publicUpload — (логическое значение) разрешить общедоступную загрузку в общедоступную общую папку (true/false)
  • Аргументы POST: пароль — (строка) пароль для защиты общедоступной ссылки Поделиться с
  • Аргументы POST: разрешения - (int) 1 = чтение; 2 = обновить; 4 = создать; 8 = удалить; 16 = поделиться; 31 = все (по умолчанию: 31, для общедоступных ресурсов: 1)
  • Обязательные поля: shareType, path и shareWith для shareType 0 или 1.
  • Результат: XML, содержащий идентификатор общего ресурса (int) только что созданного общего ресурса.

Другим решением является хранение ваших общих файлов и отзыв их, когда вы хотите:

Удалить общий доступ

Удалить указанный общий ресурс.

  • Синтаксис: /акции/
  • Метод: УДАЛИТЬ
  • Аргументы: share_id - (int) идентификатор общего ресурса

Дополнительную информацию можно найти по адресу: https://doc.owncloud.org/server/6.0/developer_manual/core/ocs-share-api.html

person Javier Gonzalez    schedule 22.07.2014

В веб-интерфейсе можно создавать акции со сроком действия. Не уверен, почему общий API еще не предоставляет доступ к этому (по крайней мере, согласно документации). Но в системе отслеживания проблем ownCloud уже есть проблема, которая предполагает, что это может быть реализовано. в OC7 (который скоро должен выйти).

Просто замечание: на самом деле ваш вопрос больше похож на запрос функции, чем на вопрос, и, я бы сказал, на самом деле не связан с программированием. Если вы решили использовать ownCloud и вам требуется что-то более конкретное, возможно, вам лучше опубликовать запрос функции на трекер проблем ownCloud для него...

person codeling    schedule 21.07.2014

Начиная с ownCloud 7.0, вы можете "обновить " акция с датой истечения срока действия:

Обновить Поделиться

Обновите указанный общий ресурс. За один запрос может быть обновлено только одно значение.

  • Синтаксис: /акции/
  • Метод: ПОЛОЖИТЬ
  • Аргументы: share_id - (int) идентификатор общего ресурса
  • PUT Аргументы: разрешения - (int) обновить разрешения (см. «Создать общий ресурс» выше)
  • PUT Аргументы: пароль - (строка) обновленный пароль для общедоступной ссылки Поделиться
  • Аргументы PUT: publicUpload — (логическое значение) включить (true)/отключить (false) публичную загрузку для общедоступных ресурсов.
  • Аргументы PUT: expireDate — (строка) устанавливает дату истечения срока действия общедоступных ссылок. Этот аргумент ожидает правильно отформатированную строку даты, например. ‘ГГГГ-ММ-ДД’
person Christopher Bottoms    schedule 04.12.2015