我们使用Apigee作为我们的授权服务器(AS),并且在充当我们的资源服务器(RS)的IBM Bluemix公共云中部署了一些Spring Restful服务。在没有VerifyOAuthTokens策略的情况下在APIGEE中验证oAuth 2访问令牌
每个服务都有一个在Apigee中配置的等效代理服务。对于代理服务,我们已经配置了VerifyOAuthTokens政策,以验证用户传递的令牌,并返回一个错误,如果无效令牌传递
的问题是,因为我们的RS是在公共云(没有计划或必要的转移到专用云或私有云)api端点是开放的,并且可以由知道url的任何人调用。尽管期望每个人都应该通过APIGEE代理来调用apis,但是我们不能强制这样做,因为我们在公共云中,并且存在没有开放端口来自apigee或其他的选项。我们希望采取以下方法来确保api端点的安全。
- 接受Authorization头为每个呼叫
- 拿令牌和调用验证令牌服务Apigee
对于2,我们无法找到一个APIGEE API,它可以验证的访问令牌类似于谷歌说
https://www.googleapis.com/oauth2/v1/tokeninfo?access_token=1/fFBGRNJru1FQd44AzqT3Zg
或GitHub的
GET /applications/:client_id/tokens/:access_token
- 实际上是否有外部APIGEE服务来验证令牌?
- 如果不是,确保只有具有有效令牌的有效用户才能访问apis的最佳方法是什么?
感谢, Tatha
谢谢@Chris我会研究这个。虽然我不认为我们可以使用它,因为我们没有任何第三方IDP,但我们的服务仅支持client_credentials授权类型,并且我们不授权用户,但只授予应用程序。这些应用程序被配置为组织 – Tatha