gpt4 book ai didi

php - ownCloud 使用短期 token 或类似文件共享文件?

转载 作者:搜寻专家 更新时间:2023-10-31 21:34:04 27 4
gpt4 key购买 nike

我从 ownCloud 服务器共享文件,然后我将链接嵌入外部 Drupal 站点(这需要用户登录才能访问)。

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

因为这些链接嵌入在经过身份验证的页面中,所以我想避免用户再次登录到 ownCloud 来下载文件,所以我想使用短期 token 或类似的东西来保护它们(我想象的是那种工作流程:用户登录到外部 Drupal 站点,站点服务器使用 ownCloud 服务器进行身份验证,接收 token 并将 token 附加到下载链接)。

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

最佳答案

如果您检查 OC Share API documentation你可以看到有一个参数“密码”来为链接添加密码:

Create a new Share
Share a file/folder with a user/group or as public link.

  • Syntax: /shares
  • Method: POST
  • POST Arguments: path - (string) path to the file/folder which should be shared
  • POST Arguments: shareType - (int) ‘0’ = user; ‘1’ = group; ‘3’ = public link
  • POST Arguments: shareWith - (string) user / group id with which the file should be shared
  • POST Arguments: publicUpload - (boolean) allow public upload to a public shared folder (true/false)
  • POST Arguments: password - (string) password to protect public link Share with
  • POST Arguments: permissions - (int) 1 = read; 2 = update; 4 = create; 8 = delete; 16 = share; 31 = all (default: 31, for public shares: 1)
  • Mandatory fields: shareType, path and shareWith for shareType 0 or 1.
  • Result: XML containing the share ID (int) of the newly created share

另一种解决方案是存储您的共享文件并在需要时撤销它们:

Delete Share

Remove the given share.

  • Syntax: /shares/
  • Method: DELETE
  • Arguments: share_id - (int) share ID

您可以在以下位置查看更多信息:http://doc.owncloud.org/server/6.0/developer_manual/core/ocs-share-api.html

关于php - ownCloud 使用短期 token 或类似文件共享文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24180397/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com