让Apigee对客户端进行身份验证(oauth)

时间:2020-08-27 08:25:13

标签: oauth jwt auth0 apigee

我有一项受OAuth保护的服务。要使用它,您首先需要一个令牌。 我有一个应用程序,只能访问Apigee代理。我希望Apigee对客户端(应用程序)进行身份验证,并使用Apigee中的客户端API密钥设置保护。我该怎么办?

3 个答案:

答案 0 :(得分:1)

我认为您要尝试的就是Apigee所说的Last Mile Security。不幸的是,这并不像添加策略并使用令牌URL,客户端ID和密码配置策略那样简单。您需要确保安全地存储凭据,适当地缓存令牌,然后将令牌传递给代理目标。

幸运的是,Apigee拥有一个演示项目,该项目可以完成我认为您正在尝试做的事情。基本上,您的代理将仅配置有验证API密钥策略(首先执行此操作,就好像api密钥不正确一样,不需要进行所有OAuth握手)。确认后,您可以使用Javascript策略检查缓存中的令牌,然后在缓存未命中时调用OAuth令牌端点以获取一个令牌。我相信它然后使用AssignMessage策略将Authorization标头设置为令牌。 (请注意,示例项目不包含“验证API密钥”策略,但是添加起来应该很容易)

此外,演示项目将客户端ID和密码存储在js文件中,我不建议这样做。也许将其存储在加密的KVM条目中?

出站OAuth示例项目可以在here中找到。

答案 1 :(得分:0)

请参考以下视频,以在API代理中使用oauth身份验证:

https://www.youtube.com/watch?v=zn94GhcdgHc&list=PLsWqc60hQz4clQ4ykjCu4qyEhdKe11Lvy

答案 2 :(得分:0)

您可以使用Ouath2-客户端证书授予类型,这意味着您必须在代理中添加和配置安全策略,请查看以下解释此流程的链接。

https://docs.apigee.com/api-platform/security/oauth/oauth-20-client-credentials-grant-type