结合 Authing 实现 AWS 云上的身份认证与授权

身份认证与 Cognito 服务介绍

在 Web 或 App 开发过程中,用户的认证和权限处理是非常重要的一个模块,这里包括用户注册、登录认证及管理对应的权限。除了用户名密码登录外,通过第三方社交帐号登录也是非常重要的需求,在国外主要是 Google、Facebook 或 Apple 登录等,而在国内则主要是微信、微博登录等。

身份认证与授权实现起来相应复杂,因此在 AWS 云上提供了 Cognito 服务,以帮助开发者更快、更安全地接入用户注册/登录和访问控制功能。Cognito 服务让企业可以把更多的精力花在核心业务上,去关注创新、创收,而非过多关注身份认证与授权相关的底层技术细节。

Cognito 服务构成:

  • Cognito User Pool

即用户池,为应用程序提供注册和登录选项的用户目录。利用用户池,用户可以通过 Cognito 登录 Web 或 App。用户还可以通过社交身份提供商(例如 Google、Facebook、Amazon 或 Apple)以及 SAML 身份提供商登录。

  • Cognito Identity Pool

即身份池,或联合身份,可以为用户创建唯一身份,并将它们与身份提供商联合。有了身份池,用户便可以获取权限受限的临时 AWS 凭证以访问其他 AWS 服务。身份池可以包括 Cognito User Pool 中的用户,外部身份提供商(如 Google/Facebook)或基于 OpenID Connect/SAML 的身份提供商进行身份验证的用户。

Cognito 应用场景:

目前 Cognito 被广泛应用在客户创建的 Web 或 App 中,也应用在许多 AWS Solutions 中。目前主要是两个使用场景:

  • API Gateway 可以集成 Cognito User Pool 进行用户身份认证与授权,方便对 API 进行保护。

  • 结合 Cognito Identity Pool 来在 Web 或移动端安全地获取 AWS 临时凭证,进而访问其他 AWS 服务。

Cognito User Pool 在国内区域的替代方案

目前 AWS 国内区域上线了 Cognito Identity Pool,但 Cognito User Pool 暂未上线。因此我们在这个博客里会探索如何在现阶段找到 Cognito User Pool 的替代方案。我们的基本思路是找到一个基于 OpenID Connect 协议的认证服务&#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值