从版本 10.5 开始,VMware Cloud Director 支持 Proof Key for Code Exchange (PKCE)。

PKCE 是 OAuth 2.0 授权代码流的扩展,用于防止 CSRF 和授权代码注入攻击。有关详细信息,请参见 OAuth 2.0 文档中的 Proof Key for Code Exchange

有关使用 VMware Cloud Director API 进行 OAuth 配置的更多详细信息,请参见 VMware Cloud Director API配置和管理与 OAuth 的联合

前提条件

确认已将系统配置为使用 OpenID Connect 身份提供程序。请参见 使用 VMware Cloud Director Service Provider Admin Portal 将系统配置为使用 OpenID Connect 身份提供程序

过程

  1. 运行请求以检索您组织的设置。
    GET https://vcloud.example.com/api/admin/org/organization_id/settings/oauth
    响应包含组织的 OAuth 设置。
  2. OrgOAuthSettings 下方,进行以下更改。
    1. usePkce 元素修改为 true
    2. (可选) 如果您的身份提供程序要求在发出 API 请求以检索访问令牌时将客户端凭据作为授权标头发送,请将 sendClientCredentialsAsAuthorizationHeader 元素修改为 true
      默认行为是在 API 请求的正文中发送客户端凭据。
  3. 要更新 OAuth 设置以包含所做的修改,请运行 PUT 请求。
    PUT https://vcloud.example.com/api/admin/org/organization_id/settings/oauth

    在请求正文中,包括 OAuth 设置的已修改元素。