Php 是否拥有使用短期令牌或类似令牌的云共享文件?

Php 是否拥有使用短期令牌或类似令牌的云共享文件?,php,web-services,rest,access-token,owncloud,Php,Web Services,Rest,Access Token,Owncloud,我从自己的云服务器共享文件,然后在外部Drupal站点中嵌入链接(需要用户登录才能访问) 到目前为止,我使用ownCloud REST“share api”与ownCloud服务器进行身份验证,并返回指向文件的链接,但是此链接是永久性的,将来可以在无需身份验证的情况下重复使用。因此,如果用户要复制URL链接,即使他们在外部站点上的凭据被吊销,他们也可以保持对文件的访问 由于这些链接嵌入到经过身份验证的页面中,我希望避免用户再次登录到ownCloud下载文件,因此我希望使用短期令牌或类似的方式保护

我从自己的云服务器共享文件,然后在外部Drupal站点中嵌入链接(需要用户登录才能访问)

到目前为止,我使用ownCloud REST“share api”与ownCloud服务器进行身份验证,并返回指向文件的链接,但是此链接是永久性的,将来可以在无需身份验证的情况下重复使用。因此,如果用户要复制URL链接,即使他们在外部站点上的凭据被吊销,他们也可以保持对文件的访问

由于这些链接嵌入到经过身份验证的页面中,我希望避免用户再次登录到ownCloud下载文件,因此我希望使用短期令牌或类似的方式保护它们(我在想象这种工作流程:用户登录外部Drupal站点,站点服务器使用ownCloud服务器进行身份验证,接收令牌并附加令牌以下载链接)


到目前为止,我已经搜索了官方论坛,发布在专家交流上,阅读了文档,并进行了广泛的谷歌搜索。在我看来,这个功能似乎不存在,但是,它似乎应该存在。因此,如果有人知道,怎么做呢?也欢迎提供类似结果的替代解决方案!

在web界面上,可以创建具有到期日期的共享。不确定为什么共享API尚未提供对此的访问(至少)。但ownCloud的问题跟踪程序中已经有了,这表明这可能在OC7中实现(应该很快发布)

只是一句话:你的请求实际上更多的是一个功能请求,而不是一个问题,我想说的是,实际上与编程无关。如果你决定使用ownCloud,并且你需要更具体的东西,你最好为它发布一个功能请求…

如果你检查了密码,你会发现存在一个参数“password”要向链接添加密码,请执行以下操作:

创建新共享
与用户/组或作为公共链接共享文件/文件夹

  • 语法:/shares
  • 方法:邮寄
  • POST参数:应该共享的文件/文件夹的路径-(字符串)路径
  • POST参数:shareType-(int)“0”=用户;“1”=组;“3”=公共链接
  • POST参数:shareWith-(字符串)应与之共享文件的用户/组id
  • POST参数:publicUpload-(布尔)允许公共上载到公共共享文件夹(真/假)
  • POST参数:密码-(字符串)用于保护公共链接共享的密码
  • POST参数:权限-(int)1=读取;2=更新;4=创建;8=删除;16=共享;31=全部(默认值:31,对于公共共享:1)
  • 必填字段:shareType 0或1的shareType、path和shareWith
  • 结果:包含新创建共享的共享ID(int)的XML
另一种解决方案是存储共享文件,并在需要时撤销它们:

删除共享

删除给定的共享

  • 语法:/shares/
  • 方法:删除
  • 参数:share_id-(int)share id
您可以在以下位置查看更多信息:

从以下内容开始:

更新共享 更新给定共享。每个请求只能更新一个值

  • 语法:/shares/
  • 方法:将
  • 参数:share_id-(int)share id
  • PUT参数:权限-(int)更新权限(请参阅上面的“创建共享”)
  • PUT参数:密码-(字符串)公共链接共享的更新密码
  • PUT参数:publicUpload-(布尔值)启用(true)/禁用(false)公共共享的公共上载
  • PUT参数:expireDate-(字符串)设置公共链接共享的过期日期。此参数需要格式良好的日期字符串,例如。 “YYYY-MM-DD”

使用应用程序执行以下操作如何: