0

因此,我在 apigee 文档中阅读了 内容,以了解如何执行 API 验证策略。我仍然对将键与 .

1)假设我有一个key1 为客户端调用的 api 密钥。这

<VerifyAPIKey name="APIKeyValidation">
  <APIKey>request.queryparameter.apikey</APIKey>
</VerifyAPIKey>

从请求中删除 api 密钥。现在我的问题是我应该如何将其keykey1. 对此的任何指示/帮助将不胜感激。

4

2 回答 2

1

您不需要明确“关联” API 密钥。该策略实际上会为您验证密钥。(事实上​​,有时您会希望在验证密钥后使用另一个策略——AssignMessage 来剥离 API 密钥。)

策略中的变量“request.queryparameter.apikey”只是告诉 API 代理在哪里查找请求消息中的 API 密钥。一旦找到密钥,它就会进行验证,如果密钥无效,则抛出异常。

您可以查看此示例了解更多信息:

https://github.com/apigee/api-platform-samples/tree/master/sample-proxies/apikey

希望有帮助。

于 2013-12-30T16:15:28.643 回答
0

Apigee Edge 中的密钥验证是平台的一个集成部分,在上一代中,密钥验证是通过 API 完成的。

它的工作方式遵循这个一般流程

  1. 密钥已生成(这可以通过开发门户或直接通过企业 UI 完成)
  2. 使用 VerifyAPIKey 策略将密钥传递给 API
  3. VerifyAPIKey 策略配置为使用部分请求中的密钥,这可以是表单参数、标头或查询参数。

    <VerifyAPIKey name="APIKeyValidation"> <APIKey>request.queryparameter.apikey</APIKey> </VerifyAPIKey>

  4. 策略验证引用的 API 密钥是否有效,如果有效,则策略将填充几个对进一步处理有用的变量。
  5. 如果密钥无效,则策略将返回相应的错误。
  6. 如果从策略返回的某些数据与您的某些工作流程假设不匹配,您可以使用 raisefault 策略,条件匹配您的假设

以下是一些关于这些政策及其工作原理的文档页面 http://apigee.com/docs/api-services/content/enforce-access-control-using-verifyapikey http://apigee.com/docs/api -服务/内容/异常处理-raisefault

于 2014-01-27T22:29:42.430 回答