每个租户使用 Cognito 池进行身份验证

时间:2020-12-31 22:34:59

标签: amazon-web-services authentication aws-api-gateway amazon-cognito multi-tenant

我正在观看 AWS reInvent 视频:https://www.youtube.com/watch?v=kmVUbngCyOw&feature=emb_logo&ab_channel=AmazonWebServices,其中建议为每个租户使用 Cognito 池。 这就是身份验证的样子,并引入了一个身份验证管理器来针对 Cognito 进行身份验证,并基于 OpenIdConnect 取回 JWT 令牌。

enter image description here

我正在阅读另一篇博文:https://medium.com/@tarekbecker/serverless-enterprise-grade-multi-tenancy-using-aws-76ff5f4d0a23

它建议使用附加到 API 网关的自定义授权方。

enter image description here 我的理解是否正确,我们基本上应该在 2 个地方进行身份验证 ->

  1. 从使用身份验证服务的网络应用程序
  2. 在 API 网关使用自定义授权方

1 个答案:

答案 0 :(得分:0)

通常,人们使用 AWS 开发工具包从 Cognito 对用户进行身份验证,并处理整个身份验证逻辑。 AWS-SDK 几乎支持所有流行语言。

因为 API 网关是前线服务或公开暴露的服务,您可以通过它访问使用 Lambda 托管的微服务。此外,ApiGateway 作为任何客户端应用程序(包括 Web 和 Lambda 微服务)之间的中介/代理服务进行交互。

自定义授权器用于在 API 网关服务中实现自定义授权逻辑,即如果用户角色对某些 API 没有任何访问权限,它只会向尝试访问这些资源的用户发出错误消息。

>

例如我们过去如何使用自定义授权器。我们有两种角色类型的用户

  1. 管理员
  2. 用户 我们不得不限制管理员 API 的访问。因此,我们添加了所有这些逻辑,以根据我们在不记名令牌中获得的信息授权对 API 的访问。

https://aws.amazon.com/blogs/compute/introducing-custom-authorizers-in-amazon-api-gateway/

enter image description here