首页 > 解决方案 > Bintray API - 无法匿名获取 OSS 许可证

问题描述

我正在尝试获得 Bintray 支持的所有 OSS 许可证,但似乎 API 已修改且文档未修改。

如果您阅读了 OSS 许可部分:https ://bintray.com/docs/api/#_get_oss_licenses

返回所有 OSS 许可证的列表。此资源可由经过身份验证的客户端和匿名客户端使用。”

但是,如果我尝试以匿名方式获取许可证,Bintray 会返回 401(未授权):

curl -vvv https://api.bintray.com/licenses/oss_licenses
* Trying 75.126.208.206...
* TCP_NODELAY set
* Connected to api.bintray.com (75.126.208.206) port 443 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
* successfully set certificate verify locations:
*   CAfile: /etc/ssl/certs/ca-certificates.crt CApath: none
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
* TLSv1.3 (IN), TLS handshake, Server hello (2):
* NPN, negotiated HTTP1.1
* TLSv1.2 (IN), TLS handshake, Certificate (11):
* TLSv1.2 (IN), TLS handshake, Server key exchange (12):
* TLSv1.2 (IN), TLS handshake, Server finished (14):
* TLSv1.2 (OUT), TLS handshake, Client key exchange (16):
* TLSv1.2 (OUT), TLS change cipher, Change cipher spec (1):
* TLSv1.2 (OUT), TLS handshake, Next protocol (67):
* TLSv1.2 (OUT), TLS handshake, Finished (20):
* TLSv1.2 (IN), TLS handshake, Finished (20):
* SSL connection using TLSv1.2 / ECDHE-RSA-AES128-GCM-SHA256
* ALPN, server did not agree to a protocol
* Server certificate:
*  subject: CN=*.bintray.com
*  start date: Sep 15 00:00:00 2018 GMT
*  expire date: Nov  9 12:00:00 2019 GMT
*  subjectAltName: host "api.bintray.com" matched cert's "*.bintray.com"
*  issuer: C=US; O=DigiCert Inc; OU=www.digicert.com; CN=GeoTrust RSA CA 2018
*  SSL certificate verify ok.
> GET /licenses/oss_licenses HTTP/1.1
> Host: api.bintray.com
> User-Agent: curl/7.64.0
> Accept: */*
>
< HTTP/1.1 401 Unauthorized
< Server: nginx
< Date: Tue, 26 Mar 2019 19:28:56 GMT
< Content-Type: application/json
< Content-Length: 51
< Connection: keep-alive
< WWW-Authenticate: Basic realm="Bintray API Realm"
<
* Connection #0 to host api.bintray.com left intact
{"message":"This resource requires authentication"}

我认为不需要身份验证,因为我没有更改任何内容。是错误还是文档已过时?

问候!

标签: bintray

解决方案


正如您还提到的,此 REST 可以使用经过身份验证的用户和匿名用户运行。看起来有一个错误(在 JFrog 的 JIRA内部记录为 - JBT-2948)

您现在应该能够以匿名方式运行它(请参见下面的屏幕截图)

使用匿名获取 OSS 许可证


推荐阅读