【问题标题】:apigee: where do I correlate the keys with this policyapigee:我在哪里将密钥与此策略相关联
【发布时间】:2014-01-28 06:29:42
【问题描述】:

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

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

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

从请求中剥离 api 密钥。现在我的问题是我应该如何将 keykey1 关联起来。对此的任何指示/帮助将不胜感激。

【问题讨论】:

    标签: api-key apigee


    【解决方案1】:

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

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

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

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

    希望对您有所帮助。

    【讨论】:

    • 感谢您的回答。现在我的问题是,此策略是否使用我在使用 url {api.enterprise.apigee.com/v1/o{myorg}/developers/{developer_email}/apps/{app_name}} 为应用程序配置密钥时获得的密钥验证 api 密钥? .是否所有这些信息都存储为地图。另外,我如何映射策略以从映射中获取值(用于相关性)?
    • 是的。当您注册一个应用程序时,会为其生成一个 API 密钥。 (“消费者密钥”是 Apigee Edge 中使用的术语。)这是在运行时得到验证的密钥。键存储在专用数据库中——它们不能用作键/值映射。
    • 如果您需要获取与 API 密钥关联的属性,可以使用AccessEntity policy type。此外,当验证 API 密钥时,会填充一组变量。它们包含键的属性。您可以参考VerifyAPIKey policy reference中的变量列表。
    • 感谢您的解释。我想我的问题基本上变成了,假设我在我创建的地图中有一个条目。如何创建策略以将客户端请求中的参数变量与映射中的条目相关联,以及它们是否与引发错误错误相关。我知道在 apigee 3.8 中有一个工作室,我可以在其中修改连接参数来实现这一点,但我真的很困惑如何在边缘版本中做到这一点
    【解决方案2】:

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

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

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

      request.queryparameter.apikey

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

    这里有一些关于这些政策及其运作方式的文档页面 http://apigee.com/docs/api-services/content/enforce-access-control-using-verifyapikey http://apigee.com/docs/api-services/content/exception-handling-raisefault

    【讨论】:

      猜你喜欢
      • 2013-06-02
      • 2017-10-03
      • 2011-10-08
      • 2011-09-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-24
      • 1970-01-01
      相关资源
      最近更新 更多