第 6 章 Red Hat Quay API 示例
本章的其余部分提供了 Red Hat Quay API 示例。
6.1. 使用 API 管理用户应用程序
Red Hat Quay 用户可以创建、列出关于和删除用户应用程序的信息,该应用程序 可用作 Docker、Podman 或其他服务供应商密码的替代选择。用户应用令牌像您的用户名和密码一样工作,但已加密,不向正在访问 Red Hat Quay 的第三方提供任何信息。
通过 CLI 创建后,用户应用程序令牌会在 Red Hat Quay UI 的 User Settings 下列出。请注意,这与在用户设置下创建的应用程序令牌不同,并应完全被视为不同的应用程序。
使用以下步骤创建用户应用程序令牌。
先决条件
- 您已创建了 OAuth 2 访问令牌。
流程
输入
POST /api/v1/user/apptoken
API 调用来创建用户应用程序:$ curl -X POST \ -H "Authorization: Bearer <access_token>" \ -H "Content-Type: application/json" \ -d '{ "title": "MyAppToken" }' \ "http://quay-server.example.com/api/v1/user/apptoken"
输出示例
{"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"}}
您可以使用
GET /api/v1/user/apptoken
命令获取有关应用程序的信息,包括应用程序何时过期。例如:$ curl -X GET \ -H "Authorization: Bearer <access_token>" \ "http://quay-server.example.com/api/v1/user/apptoken"
{"tokens": [{"uuid": "6b5aa827-cee5-4fbe-a434-4b7b8a245ca7", "title": "MyAppToken", "last_accessed": null, "created": "Wed, 08 Jan 2025 19:32:48 -0000", "expiration": null}], "only_expiring": null}
您可以通过输入
GET /api/v1/user/apptoken/{token_uuid}
命令获取有关特定用户应用程序的信息:$ curl -X GET \ -H "Authorization: Bearer <access_token>" \ "http://quay-server.example.com/api/v1/user/apptoken/<token_uuid>"
输出示例
{"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"}}
您可以使用
DELETE /api/v1/user/apptoken/{token_uuid}
端点删除或撤销用户应用程序令牌:$ curl -X DELETE \ -H "Authorization: Bearer <access_token>" \ "http://quay-server.example.com/api/v1/user/apptoken/<token_uuid>"
此命令不会在 CLI 中返回输出。您可以通过输入上述其中一个命令来返回令牌列表。