Схема истечения срока действия загружаемого контента? - PullRequest
2 голосов
/ 02 июня 2010

Я собираюсь предложить услугу веб-API, которая позволяет пользователям загружать и «арендовать» контент за ежемесячную абонентскую плату. API будет открыт для всех или, возможно, только для отдельных сторон (пока не уверен). Каждый разработчик должен согласиться с лицензией, и они получают ключ разработчика для своей персоны. Каждое программное приложение также будет иметь свой собственный ключ. Тогда конечные пользователи загрузят программное обеспечение, которое будет взаимодействовать с API моей службы. У каждого пользователя также будет ключ для каждого приложения (возможно, с использованием OAuth).

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

Если пользователь отменит свою подписку, я планирую сделать следующее:

  1. Деактивировать ключ OAuth пользователя для всех приложений.
  2. Не разрешать учетной записи пользователя загружать новый контент через API (и впоследствии любое программное обеспечение, которое использует API).

Теперь главный вопрос: как мне истечь срок действия контента, если он отменит свою подписку? Если они отменяют, они больше не должны иметь доступ к контенту. Вот идеи, о которых я подумал (некоторые из них являются половинными решениями, еще не полностью реализованными):

  1. Требуется, чтобы приложения шифровали загруженный контент с помощью ключа OAuth пользователя, делая его доступным только для приложения. Это не позволит большинству пользователей переходить в каталог кэша и просто копировать и хранить файлы.
  2. Обновляйте ключ пользователя раз в месяц, заставляя контент повторно кэшироваться ежемесячно. Пользователи могут получить доступ к контенту в течение месяца после отмены подписки.
  3. Периодически требовать приложения для «звонка домой» [к услуге] и проверки прекращения подписки пользователя. Если это так, требуйте в лицензии разработчика API, чтобы приложения истекали кеш. Если выясняется, что приложения не соответствуют требованиям, их ключи (и, возможно, ключи для всех разработчиков), как следствие, деактивируются навсегда.

Одной из основных проблем является то, что некоторые приложения могут явно игнорировать ограничения лицензии. В целом допустимо ли полагаться на приложения, соблюдающие лицензионные ограничения? Плохая идея?

Есть еще идеи? Может быть, способ сделать содержание автоматически истекает через х дней? Что-то другое? Я открыт для нестандартных идей.

1 Ответ

2 голосов
/ 04 июня 2010

Если вы хотите контролировать использование контента, вам необходимо контролировать точку доступа.Большинство приложений, которые реализуют эту схему, поставляют сервер или клиентский продукт, который обеспечивает доступ к контенту.

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

Если загруженный контент не требует обратного вызова на ваш сервер во время использования, вам не повезло с этой стратегией.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...