5.2. 使用 Red Hat Quay API
创建应用程序并使用所需设置生成 OAuth 2 访问令牌后,您可以通过使用 CLI 的 API 将访问令牌传递给 GET
、PUT
、POST
或 DELETE
设置。通常,Red Hat Quay API 命令类似以下示例:
$ curl -X GET -H "Authorization: Bearer <your_access_token>" 1 https://<quay-server.example.com>/api/v1/<example>/<endpoint>/ 2
所有 Red Hat Quay API 均记录在 应用程序编程接口(API) 章节中。了解它们的记录方式对于成功调用至关重要。例如,为 createAppToken
API 端点使用以下条目:
*createAppToken* 1 Create a new app specific token for user. 2 *POST /api/v1/user/apptoken* 3 **Authorizations: **oauth2_implicit (**user:admin**) 4 Request body schema (application/json) *Path parameters* 5 Name: **title** Description: Friendly name to help identify the token. Schema: string *Responses* 6 |HTTP Code|Description |Schema |201 |Successful creation | |400 |Bad Request |<<_apierror,ApiError>> |401 |Session required |<<_apierror,ApiError>> |403 |Unauthorized access |<<_apierror,ApiError>> |404 |Not found |<<_apierror,ApiError>> |===
要使用 API 端点,您可以传递访问令牌,然后根据您的需要包含适当的字段。以下流程演示了如何使用 POST /api/v1/user/apptoken
端点。
先决条件
- 您可以访问 Red Hat Quay API,它要求已创建了 OAuth 2 访问令牌。
-
您已在
config.yaml
文件中设置了BROWSER_API_CALLS_XHR_ONLY: false
。
流程
输入
POST /api/v1/user/apptoken
API 调用来创建用户应用程序:$ curl -X POST \ -H "Authorization: Bearer <access_token>" 1 -H "Content-Type: application/json" \ -d '{ "title": "MyAppToken" 2 }' \ "http://quay-server.example.com/api/v1/user/apptoken" 3
输出示例
{"token": {"uuid": "6b5aa827-cee5-4fbe-a434-4b7b8a245ca7", "title": "MyAppToken", "last_accessed": null, "created": "Wed, 08 Jan 2025 19:32:48 -0000", "expiration": null, "token_code": "K2YQB1YO0ABYV5OBUYOMF9MCUABN12Y608Q9RHFXBI8K7IE8TYCI4WEEXSVH1AXWKZCKGUVA57PSA8N48PWED9F27PXATFUVUD9QDNCE9GOT9Q8ACYPIN0HL"}}
验证
在 Red Hat Quay UI 中,在导航窗格
Account Settings 中点您的用户名。应用的名称显示在 Docker CLI 和其他应用程序 Tokens 标题下。例如: