亚马逊网络服务有一个API Gateway,这使得设置、管理和监控你的应用程序接口变得非常容易。但是,您可以为资源方法设置的安全授权设置仅限于AWS-IAM (据我所知,这是内部vpn角色?)。
似乎我在这个主题上的研究一直在引导我设置AWS Cognito pool,但当我在我的亚马逊网络服务控制台中配置一个时,提供商的选项是:Amazon、Facebook、Google+、Twitter、OpenID和Custom。我猜,在这种情况下,我会使用Custom?然后将我自己的EC2实例设置为OAuth2身份验证提供者服务器。
考虑到Oauth2最近如此流行,让我惊讶的是竟然没有这样的服务;看起来他们已经走了整个OpenId或SAML路线。同样让我惊讶的是,关于如何在云中快速设置Oauth2提供商的指南还很少。
任何帮助都将不胜感激。
发布于 2015-11-13 12:57:43
(1)您是否希望在OAuth网关上实现API2.0端点(authorization endpoint和token endpoint)?换句话说,您真的想在OAuth网关上实现API2.0服务器(RFC 6749)吗?
(2)或者,您是否希望保护通过OAuth 2.0 access token在API网关上实现的Web
这两件事是完全不同的。
因为您似乎想要选择AWS-IAM2.0而不是OAuth,我猜您想要做的是(2)。如果是这样,您可以在这里找到一个示例:
更新于2016年4月6日
2016年2月11日,AWS Compute Blog的博客文章"Introducing custom authorizers in Amazon API Gateway“宣布,亚马逊应用编程接口网关中引入了自定义授权器。
如何保护构建在Amazon API Gateway上的API通过使用新机制的OAuth访问令牌,自定义授权,在"Amazon APi Gateway Custom Authorizer + OAuth“中进行了描述。
仅供参考:
OAuth 2.0是一种授权机制,而不是身份验证机制。但是人们经常使用OAuth 2.0进行身份验证,并且有许多软件库和服务使用OAuth 2.0进行身份验证。
Cognito (Identity)是一种与身份验证相关的解决方案,而不是授权。
Cognito中的自定义是指定OpenID连接提供程序的地方。OpenID连接是一种身份验证解决方案。让事情变得复杂的是"OpenID连接是建立在OAuth 2.0之上的“。详情请参见OpenID Connect site。
发布于 2019-02-07 07:53:04
AWS API Gateway支持Amazon Cognito OAuth2 Scopes now。您可以创建Amazon Cognito用户池授权器并将其配置为您的Authorisation method in API Gateway.。为了使用OAuth作用域,您需要使用您的Cognito用户池配置一个resource server and custom scopes。您可以在Cognito用户池中使用不同的作用域配置多个app clients,或者在对用户池中的用户进行身份验证时从应用程序代码中请求不同的作用域。根据从Cognito收到的access token中的作用域,API Gateway将允许/拒绝API的调用者。可以在here中找到实现此功能的分步指南
https://stackoverflow.com/questions/32236568
复制相似问题