帮我报名吧!

更新:自2021年5月1日起,Bintray服务将不再可用(ConanCenter和JCenter不受影响)中心弃用博客

Bintray Premium为您提供了很酷的新功能,如私有存储库,权限管理,更多存储空间等等。使用高级帐户的最大好处之一是能够为存储库的内容创建可过期的、签名的url。

你说的签名网址?那是什么?

签名URL是具有(可能)有限生命周期的模糊URL。当您的工件在私有存储库中发布时,每个工件对未授权的Bintray用户是隐藏的。如果您希望允许任何Bintray用户,甚至是非Bintray用户下载您的包,您可以生成一个一次性唯一的URL,并提供限制其有效性的选项,以便在一定时间后过期。您还可以随时撤销未完成的url。

它是如何工作的?

当您成为Bintray的高级用户时,您的帐户拥有唯一的,内部的,私钥和公钥。您决定签名的URL将使用这些密钥进行加密和解密。

我们说user "srubin"有一个私有存储库,名为"artifactory”。

这个私有回购包含一个文件,”artifactory.rar,以防止公众进入。只有授权用户才能使用标准下载链接下载,即:
https://dl.bintray.com/srubin/artifactory/com/jfrog/artifactorypro/artifactory.rar

Bintray高级链接签名
Bintray高级链接签名

为了允许一次性下载这个文件,我们将使用一个简单的REST调用为它生成一个签名的URL:

curl -XPOST -usrubin:APIKEY "https://api.bintray.com/signed_url/srubin/artifactory/com/jfrog/artifactorypro/artifactory.rar"

回应:

{"url":"https://dl.bintray.com/srubin/artifactory/com/jfrog/artiafctorypro/artifactory.rar?expiry=1415101346415&signature=BfRaL2HDbCDsPyPThAnlI%2B0TG26NcH4i0ugyKZ%2FjevLiNfEdHXyUh0Q1NNGc1Pz7V1nZkeh9RAafrUyUE%2FMOFQ%3D%3D"}

默认情况下,这个URL将在24小时内有效,但我们可以通过在一个简单的JSON配置文档中指定一个到期时间来改变它:

curl -XPOST -usrubin:APIKEY -H "Content-Type: application/json" -d "{\"expiry\":7956915742000}" https://api.bintray.com/signed_url/srubin/artifactory/com/jfrog/artiactorypro/artifactory.rar"

回应:

{"url":"https://dl.bintray.com/srubin/artifactory/com/jfrog/artiactorypro/artifactory.rar?expiry=7956915742000&signature=g5OC3RXkFhnnFYfsgqFXw9J%2FfmwCzeIsd%2FHCRgm5VjCAhrzij1GPuAv0JwZPhGD0mEqs1y2WcQ77LMrDzp9%3D%3D"}

关于这个API的更多细节可以在我们的文档中找到。

总结

签名的、可过期的url是Bintray的一个很酷的新功能。它允许您自动生成一次性下载url,并将它们分发给任何最终用户。

我们将很快扩展此功能,使其更酷。继续关注,看看我们为你准备了什么!