获取客户端凭据

您正在查看的是 Apigee Edge 文档。
转到 Apigee X 文档
信息

本主题介绍如何出于开发和测试目的,使用开箱即用的开发者应用和产品获取客户端凭据(也称为开发者密钥)。在生产环境中,步骤类似,但您希望使用自己的开发者应用、产品和其他实体。

什么是客户端凭据?

要参与任何 OAuth 2.0 流,必须使用 Apigee Edge(授权服务器)注册所有客户端应用。注册应用时,系统会为您分配两个密钥:使用方 ID使用方密钥。使用方 ID 是公钥,而使用方密钥不得公开。这些客户端凭据密钥允许 Apigee Edge 唯一标识客户端应用。

简要步骤

这些快速步骤向您展示了如何为创建 Apigee Edge 组织时配置的其中一个开箱即用应用获取开发者密钥。您可以主要将这些密钥用于开发和测试:

  1. 访问“开发者应用”页面,如下所述。

    Edge

    如需使用 Edge 界面访问“开发者应用”页面,请执行以下操作:

    1. 登录 apigee.com/edge
    2. 在左侧导航栏中选择发布 > 应用
    3. 点击 +代理

    传统 Edge (Private Cloud)

    如需使用传统版 Edge 界面访问“开发者应用”页面,请执行以下操作:

    1. 登录 http://ms-ip:9000,其中 ms-ip 是管理服务器节点的 IP 地址或 DNS 名称。
    2. 在顶部导航栏中,依次选择发布 > 开发者应用
  2. 点击天气应用以打开天气应用概览页面。请注意,与该应用关联的开发者是 Nikolai Tesla。默认情况下,系统会在创建您的组织时预配此应用和开发者。所有开发者应用都必须具有关联的开发者。
  3. 产品 部分的 Premium Weather API 产品旁边,点击显示以显示使用方 ID 和使用方密钥值。
  4. 复制并保存这两个值,您稍后需要使用它们来进行 API 调用以获取访问令牌。

使用 Edge API 获取客户端凭据

您还可以通过调用 Management API 获取应用的使用方键值和密钥。首先,执行以下 API 调用获取贵组织中的应用列表:

$ curl https://api.enterprise.apigee.com/v1/o/{org_name}/apps \
-u email:password 

此调用按应用 ID 返回应用列表。

[ "da496fae-2a04-4a5c-b2d0-709278a6f9db", "50e3e831-175b-4a05-8fb6-05a54701af6e" ]

您可以通过对应用 ID 进行简单 GET 调用来检索应用的配置文件:

$ curl https://api.enterprise.apigee.com/v1/o/{org_name}/apps/{app_id} \
-u email:password 

例如:

$ curl https://api.enterprise.apigee.com/v1/o/{org_name}/apps/da496fae-2a04-4a5c-b2d0-709278a6f9db \
-u email:password 

API 调用会返回您指定应用的配置文件。例如,weatherapp 的应用配置文件具有以下 JSON 表示法:

{
  "accessType" : "read",
  "apiProducts" : [ ],
  "appFamily" : "default",
  "appId" : "da496fae-2a04-4a5c-b2d0-70928a6f9db",
  "attributes" : [ ],
  "callbackUrl" : "http://weatherapp.com",
  "createdAt" : 1380290158713,
  "createdBy" : "noreply_admin@apigee.com",
  "credentials" : [ {
    "apiProducts" : [ {
      "apiproduct" : "PremiumWeatherAPI",
      "status" : "approved"
    } ],
    "attributes" : [ ],
    "consumerKey" : "bBGAQrXgivA9lKu7NMPyYpVKNhGar6K",
    "consumerSecret" : "hAr4Gn0gA9vyvI4",
    "expiresAt" : -1,
    "issuedAt" : 1380290161417,
    "scopes" : [ ],
    "status" : "approved"
  } ],
  "developerId" : "5w95xGkpnjzDBT4",
  "lastModifiedAt" : 1380290158713,
  "lastModifiedBy" : "noreply_admin@apigee.com",
  "name" : "weatherapp",
  "scopes" : [ ],
  "status" : "approved"
}

注意 consumerKeyconsumerSecret 的值。

深入了解

如需详细了解应用注册和密钥管理,请参阅注册应用和管理 API 密钥