5.2. 使用 Red Hat Quay API


创建应用程序并使用所需设置生成 OAuth 2 访问令牌后,您可以通过使用 CLI 的 API 将访问令牌传递给 GETPUTPOSTDELETE 设置。通常,Red Hat Quay API 命令类似以下示例:

$ curl -X GET -H "Authorization: Bearer <your_access_token>" 1
    https://<quay-server.example.com>/api/v1/<example>/<endpoint>/ 2
1
通过 Red Hat Quay UI 生成的 OAuth 2 访问令牌。
2
Red Hat Quay 部署和所需的 API 端点的 URL。

所有 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             |&lt;&lt;_apierror,ApiError&gt;&gt;
|401      |Session required        |&lt;&lt;_apierror,ApiError&gt;&gt;
|403      |Unauthorized access     |&lt;&lt;_apierror,ApiError&gt;&gt;
|404      |Not found               |&lt;&lt;_apierror,ApiError&gt;&gt;
|===
1
API 端点的名称。
2
API 端点的简短描述。
3
用于调用的 API 端点。
4
使用 API 端点所需的授权。
5
用于 API 端点的可用路径。在本例中,title 是与 POST /api/v1/user/apptoken 端点一起使用的唯一路径。
6
此端点的 API 响应。

要使用 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
    1
    Oauth 访问令牌。
    2
    应用程序令牌的名称。
    3
    Red Hat Quay 部署的 URL 附加到 /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"}}

验证

  • 在 Red Hat Quay UI 中,在导航窗格 Account Settings 中点您的用户名。应用的名称显示在 Docker CLI 和其他应用程序 Tokens 标题下。例如:

    应用程序令牌
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.