10.3. OAuth 2 令牌身份验证


OAuth (Open Authorization)是基于令牌的身份验证和授权的公开标准。OAuth 2 身份验证通常用于以编程方式与自动化控制器 API 交互。

与基本身份验证类似,您可以通过 Authorization 标头为每个 API 请求提供一个 OAuth 2 令牌。与基本身份验证不同,OAuth 2 令牌有一个可配置的超时,并可范围。令牌具有可配置的过期时间,如果需要,可以为一个用户或管理员轻松撤销整个自动化控制器时间。您可以使用 revoke_oauth2_tokens 管理命令进行此操作,或使用 API 来完成此操作,如 Revoke a access token 所述。

在自动化控制器中获取 OAuth2 访问令牌的不同方法包括:

  • 个人访问令牌(PAT)
  • 应用程序令牌:密码授权类型
  • 应用程序令牌:隐性授权类型
  • 应用程序令牌:授权代码授权类型

用户需要在 API 或平台网关 UI 的 Access Management OAuth Applications 选项卡中创建 OAuth 2 令牌。有关通过 UI 创建令牌的更多信息,请参阅 添加令牌

在本例中,使用 PAT 方法在 API 中创建令牌。创建后,您可以设置范围。

注意

您可以在系统范围内配置令牌的过期时间。如需更多信息,请参阅使用 基于令牌的身份验证配置对外部应用程序的访问

令牌身份验证最适合用于自动化控制器 API 的任何编程使用,如 Python 脚本或 curl 等工具。

curl 示例

curl -u user:password -k -X POST https://<platform-host>/api/gateway/v1/tokens/

此调用返回 JSON 数据,如下所示:

API OAuth2 JSON

您可以使用 token 属性的值为自动化控制器资源执行 GET 请求,如 Hosts :

curl -k -X GET \
  -H “Content-Type: application/json”
  -H “Authorization: Bearer <oauth2-token-value>” \
  https://<platform-host>/api/controller/v2/hosts/

您还可以通过向要启动的作业模板发布 POST 来运行作业:

curl -k -X POST \
  -H "Authorization: Bearer <oauth2-token-value>" \
  -H "Content-Type: application/json" \
  --data '{"limit" : "ansible"}' \
  https://<platform-host>/api/controller/v2/job_templates/14/launch/

10.3.1. 启用外部用户创建 OAuth 2 令牌

默认情况下,通过单点登录创建的外部用户无法为安全目的生成 OAuth 令牌。

流程

  1. 在导航面板中,选择 Settings Platform gateway
  2. 选择 Edit platform gateway settings
  3. 启用 选项,以允许外部用户创建 OAuth2 令牌
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2026 Red Hat
返回顶部