使用 Amazon Cognito 认证终端用户
在 AWS 上部署应用
Dunieski Otano
Amazon Web Services Solutions Architect
自己造登录?
新应用需要完整注册与登录
团队打算从零开发认证
Cognito 已安全实现这些功能
User pool 与 identity pool
User pool
:托管的终端用户目录
处理注册、登录并签发
令牌
Identity pool
:用登录换取
AWS 凭证
结合使用:先认证,再授权访问 AWS
Cognito 的三种令牌
ID token
:标识用户是谁(身份声明)
Access token
:说明用户可调用的内容
Refresh token
:无需重登获取新令牌
三者都是可解码验证的
JWT
联合身份
Federation
:使用外部身份提供商登录
社交:Google、Facebook、Apple
企业:
SAML
与
OIDC
提供商
Cognito 负责信任中介并签发自有令牌
将 Cognito 用作 API Gateway 授权器
API Gateway 可使用
Cognito 授权器
客户端在
Authorization 头
中发送其令牌
API Gateway 先验证令牌再运行后端
失效或过期令牌会
在边缘被拒
典型的登录到 API 调用流程
用户登录
user pool
获得 ID、access、refresh 令牌
客户端用
access token
调用 API Gateway
Cognito 授权器验证后,后端再运行
Cognito 常见误区
在需 access token 的场景误发
ID token
混淆 user pool 与 identity pool
仅用 user pool 试图授权
AWS 访问
在客户端不安全地存储令牌
让我们一起练习吧!
在 AWS 上部署应用
Preparing Video For Download...