Политика безопасности веб-API FilpickerIO и общедоступные файлы

Я только начал читать ваши документы по безопасности и созданию политик после того, как понял, что файлы можно легко удалить. с помощью ключа API и запроса DELETE. Ваша реализация безопасности кажется ответом на защиту файлов наших пользователей (в данном случае изображений) и делает ключ API бесполезным для записи файлов. Однако, прежде чем я реализую безопасность, у меня есть несколько вопросов:

Я хочу, чтобы все изображения были общедоступны, т.е. политика ?call=read. Есть ли способ настроить политику по умолчанию только для чтения, чтобы файлы были общедоступными без необходимости создавать политику для каждого URL-адреса? (или я неправильно понимаю)

В идеале я хотел бы обслуживать изображения с URL-адресом https://www.filepicker.io/api/file/[handle] и записывать/удалять изображения, создавая политику для аутентифицированных пользователей (и для вызовов API на серверной части).

РЕДАКТИРОВАТЬ: К сожалению, ответ Лияна не является оптимальным для меня, поскольку у меня может быть 100 изображений, каждое из которых требует добавления жестко запрограммированных строк запроса после загрузки из базы данных. С моей точки зрения, решение состоит в том, чтобы установить флажок (на данный момент и редактор политики по умолчанию позже) на портале разработчика, который позволит вам установить доступ только для чтения для URL-адресов «по умолчанию». Это (или что-то подобное) что-то, что парни/девушки из filepicker.io могли бы добавить? В противном случае дополнительное обслуживание и сложность обработки URL-адресов между моей базой данных и представлениями становятся чем-то вроде кошмара.

EDIT: Что ж, Filepicker.io еще раз продемонстрировал, какой отличный сервис они предлагают! Большое спасибо Лиян и остальной команде за эти изменения. Буду рекомендовать вас всем, кому смогу :)


person Stan Bondi    schedule 09.11.2012    source источник


Ответы (2)


Теперь вы можете установить свои URL-адреса как «Только для чтения» на своем портале разработчика.

person Liyan Chang    schedule 14.11.2012
comment
ВОТ ЭТО ДА! Вы, ребята, потрясающие! Большое спасибо за ваш отличный сервис :) - person Stan Bondi; 14.11.2012
comment
Ммм ;) Я правильно его использую? Кажется, это не работает. Мой пример URL: https://www.filepicker.io/api/file/lRRtsexbS1ODs4Fn6bAk - person Stan Bondi; 14.11.2012
comment
Флаг только для чтения означает, что если у вас не включена защита, вы можете отключить возможность записи/удаления ссылок. То, что вы хотите, похоже, но обратный подход к безопасности и белому списку. Я еще раз посмотрю, как это сделать правильно через пару дней. Не стесняйтесь писать мне по электронной почте [email protected], чтобы поговорить об этом в автономном режиме. - person Liyan Chang; 16.11.2012
comment
Спасибо, Лиян, теперь я вижу принятый подход - я отправлю электронное письмо для дальнейшего обсуждения этого вопроса. - person Stan Bondi; 16.11.2012

Укажите срок действия и вызов. Тогда не указывайте дескриптор.

{'call': ['read', 'convert'], 'expiry': expiryForNextHundredYears}

Эта политика позволит читать и конвертировать все ваши файлы.

person Liyan Chang    schedule 09.11.2012
comment
Спасибо за ответ! Так что в настоящее время нет способа установить политику по умолчанию для неподписанных URL-адресов - может ли filepicker.io добавить это? - person Stan Bondi; 11.11.2012
comment
Заметил, что в документах URL-адрес примера отладки/безопасности и «живой» URL-адрес поменялись местами здесь и при использовании конечной точки /debug/security всегда появляется следующее сообщение: Это приложение не имеет возможности защищать URL-адреса. - person Stan Bondi; 11.11.2012
comment
Да. Там опечатка. Это должно быть удалено - person Liyan Chang; 13.11.2012
comment
Я не уверен, отвечаете ли вы на пункты 1, 2 и 3 или только на мой последний пункт;) Мне не удалось свернуть запрос DELETE с помощью {call: ['remove']}, но {call: ['remove'] } работает. - person Stan Bondi; 13.11.2012
comment
Теперь вы сможете сделать это с помощью call remove. Это была опечатка в нашем коде, которую я сейчас исправил. «Отозвать» по-прежнему будет работать, но «удалить» — правильный способ сделать это. Спасибо за вашу помощь в этом. - person Liyan Chang; 14.11.2012