我将提供一个网络API服务,允许用户下载和“租用”内容,每月订阅费用。 API将向所有人开放,或者可能只是选择方(尚不确定)。每个开发人员必须同意许可,并且他们会为他们的人员收到开发人员密钥。每个软件应用程序也都有自己的密钥。因此,最终用户将下载将与我的服务API进行交互的软件。每个用户也将拥有每个应用程序的密钥(可能使用OAuth)。
内容将在首次下载时进行缓存,并且只能通过缓存内容的第三方应用程序离线访问。
如果用户取消订阅,我计划执行以下操作:
现在,最大的问题是:如果内容取消订阅,我如何让内容过期?如果他们取消,他们就不应再访问内容了。以下是我所想到的想法(其中一些是半解决方案,还没有完全充实):
一个主要担心是某些应用程序可能会公然忽略许可证的限制。依赖遵守许可限制的应用程序通常是否可以接受?不好主意?
还有其他想法吗?也许是一种让内容在x天后自动过期的方法?别的什么?我愿意接受开箱即用的想法。
答案 0 :(得分:2)
如果要控制内容的使用,则需要控制访问点。大多数实现此方案的应用程序都提供了一个服务器或客户端产品,可以提供对内容的访问。
我假设您的架构正在返回数据,纯粹而简单。如果我是使用您的Web服务的开发人员,那么什么是阻止我在查询时将静态文件中的所有响应缓存?没什么,因为您的接入点是您的Web服务器。一旦离开接入点,您无法控制我对内容的使用。
除非下载的内容在使用时需要回调您的服务器,否则您对此策略运气不佳。