我们使用 OAuth 2.0,以便您可以为应用程序授予对组织中受保护资源进行安全委派访问的权限。VMware Cloud Services 支持 Web 应用程序访问(应用程序的用户授予访问权限)和服务器到服务器交互(直接向您的应用程序程序发出访问令牌)。

什么是 OAuth 2.0

OAuth 2.0 是一种授权协议,支持为您的应用程序授予对资源的安全访问权限。您的客户端通过访问令牌获得授权。访问令牌具有一个范围,用于定义令牌可以访问哪些资源。有关 OAuth 2.0 的信息,请参见 OAuth 规范(网址:https://tools.ietf.org/html/rfc6749#page-8),或阅读博客文章 OAuth 2.0 Simplified(网址:https://aaronparecki.com/oauth-2-simplified/)。

OAuth 2.0 如何与 VMware Cloud Services 配合使用

VMware Cloud Services 涵盖利用不同授权类型(如 client credentialsauthorization codepublic clientauthorization code)的应用程序授权的几个用例。根据您的目标,您可以选择创建三种类型的 OAuth 应用程序之一,分别对应于每个授权类型(服务器到服务器应用程序、Web 应用程序以及本机/移动应用程序)。

假设您是组织所有者,有权访问 VMware Cloud on AWS。您开发了一个可帮助您进行股票交易的应用程序。您将该应用程序称为 Trading 1.0。您想在 vCenter Server 管理的虚拟机上运行该应用程序,但首先需要使用 VMware Cloud on AWS 授权该应用程序。

  1. 您在 VMware Cloud Services 中创建 OAuth 2.0 应用程序。可以将其视为注册 Trading 1.0 应用程序的一种方式。您可以通过在查看组织 > OAuth 应用程序菜单中单击创建应用程序来启动应用程序创建,然后执行一系列步骤。在该过程结束时,我们以应用程序 ID 和应用程序密钥形式发出客户端凭据,该凭据用于向 API 标识客户端。将这些凭据粘贴到您的脚本中。
  2. 已在组织中创建应用程序,但尚未授予其访问权限。您可以通过将应用程序添加到组织来授予其访问权限。这将允许应用程序访问您在创建应用程序时定义的组织中的服务和资源。只有服务器到服务器应用程序类型的应用程序才需要执行此步骤,此步骤不适用于 Web 和本机/移动应用程序。
  3. 运行 Trading 1.0 客户端应用程序时,它会从授权服务器请求访问令牌。获得授权后,授权服务器会将访问令牌发送到 API,您的客户端即获得访问权限。

谁可以创建和管理 OAuth 应用程序

作为组织所有者或具有开发人员角色的组织成员,您可以创建和管理 OAuth 应用程序。

是否可以重新生成应用程序密钥

可以,作为组织所有者,您可以重新生成组织中 OAuth 应用程序的应用程序密钥。如果创建 OAuth 应用程序的组织所有者离开您的公司,而您想继续运行该应用程序,此方法会非常有用。

是否可以使用 API 令牌身份验证,而不使用 OAuth 应用程序

可以,如果 API 在授权过程中要求用户是经身份验证的实体,则必须改用 API 令牌。要了解何时使用 OAuth 应用程序与 API 令牌,请参见 OAuth 应用程序与 API 令牌的区别