所以我在apigee文档中阅读了this,以了解如何实施API验证策略。我仍然对这与关键字的关联方式感到困惑。
1)假设我有一个名为key1
的api密钥用于客户端。
<VerifyAPIKey name="APIKeyValidation">
<APIKey>request.queryparameter.apikey</APIKey>
</VerifyAPIKey>
从请求中删除api密钥。现在我的问题是我应该如何将此key
与key1
相关联。任何指针/帮助非常感谢。
答案 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完成的。
它的工作方式遵循这个一般流程
VerifyAPIKey策略配置为使用部分请求中的密钥,这可以是表单参数,标头或查询参数。
&lt; VerifyAPIKey name =“APIKeyValidation”&gt; 的&LT; APIKey&GT; request.queryparameter.apikey&LT; / APIKey&GT; 强> &LT; / VerifyAPIKey&GT;
以下是一些文档页面,讨论这些策略及其工作原理 http://apigee.com/docs/api-services/content/enforce-access-control-using-verifyapikey http://apigee.com/docs/api-services/content/exception-handling-raisefault