Cloudant 附件授权

Cloudant attachment Authorization

Node JS + Cloudant - 我正在尝试使用 HTML5 视频标签通过 Node.js 应用程序 link 存储在 cloudant 中的视频。我在页面加载时收到了关于 cloudant 凭据的挑战。我如何访问附件而不被要求提供凭据?视频 URL 格式:http://apikey:pwd@username.cloudant.com/docid/video.mpg4

(我在URL中传递了API键)

2.) 有没有办法在不暴露 API 密钥和密码的情况下在 cloudant 中代理附件 URL?

据我所知,使用令牌 link 应该是不可能的。

无论如何,您都可以直接在 node.js 代码中创建解决方法:您可以添加一个 URL 来引用您的应用程序,它可以通过节点引擎代理到 cloudant 服务实例,添加任何其他参数.

例如: http://[YOURAPPNAME].mybluemix.net/forcloudant/video.mpg4

将使节点引擎(因此不会通过来自客户端浏览器的 HTTP 请求向客户端公开任何参数)向

发送获取请求

http://apikey:pwd@username.cloudant.com/docid/video.mpg4

您能否确保 URL 通过 SSL,Cloudant 将只接受通过 https 的连接。

此外,用于连接图像的 URL 结构应该是:

https://$USERNAME.cloudant.com/$DATABASE/$DOCUMENT_ID/$ATTACHMENT

所以我创建了示例:

https://elsmore.cloudant.com/attachmenttest/testpng/pouchdb.png

并且通过仅具有 Reader 权限的 API 密钥设置,您可以通过以下方式访问它而不会受到挑战:

https://medstiessitypichaverecti:cb2a6e5ef5af62c3e6fdad312d48fe005a8aa698@elsmore.cloudant.com/attachmenttest/testpng/pouchdb.png

如果您希望将它直接公开给 browser/end 用户或将它们放在具有 Reader 权限的单独数据库中,我建议使用只读 API 密钥每个人(高度反对最后一个选项)