签了我!
更新:自2021年5月1日起,Bintray服务将不再可用(ConanCenter和JCenter不受影响),更多信息请阅读中心弃用博客
Bintray Premium为您提供了很酷的新功能,如私有存储库,权限管理,更多的存储等等。使用高级帐户的最大好处之一是能够为存储库的内容创建可使用的、签名的url。
你说的是签名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
为了允许一次性下载这个文件,我们将使用一个简单的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,并将它们分发给任何最终用户。
我们将很快扩展这个功能,使它更酷。继续关注,看看我们为你准备了什么!
