apigee:我在哪里将密钥与此策略相关联

时间:2013-12-30 15:20:38

标签: api-key apigee

所以我在apigee文档中阅读了this,以了解如何实施API验证策略。我仍然对这与关键字的关联方式感到困惑。

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

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

从请求中删除api密钥。现在我的问题是我应该如何将此keykey1相关联。任何指针/帮助非常感谢。

2 个答案:

答案 0 :(得分:1)

您无需明确“关联”API密钥。该政策实际上为您验证了密钥。 (事实上​​,有时你会想要在验证密钥之后使用另一个策略剥离API密钥 - AssignMessage。)

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

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

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

希望有所帮助。

答案 1 :(得分:0)

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

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

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

    &lt; VerifyAPIKey name =“APIKeyValidation”&gt;   的&LT; APIKey&GT; request.queryparameter.apikey&LT; / APIKey&GT; &LT; / VerifyAPIKey&GT;

  4. 策略验证引用的API密钥是否有效,如果有效,策略将填充几个对进一步处理有用的变量。
  5. 如果密钥无效,则策略将返回相应的错误。
  6. 如果从策略返回的某些数据与您的某些工作流假设不匹配,则可以使用具有与您的假设匹配的条件的raisefault策略
  7. 以下是一些文档页面,讨论这些策略及其工作原理 http://apigee.com/docs/api-services/content/enforce-access-control-using-verifyapikey http://apigee.com/docs/api-services/content/exception-handling-raisefault