@aws-sdk/client-cognito-identity与@aws-sdk/client-cognito-identity-provider核心差异是什么?
@aws-sdk/client-cognito-identity 与 @aws-sdk/client-cognito-identity-provider 的核心区别
核心定位差异
@aws-sdk/client-cognito-identity:专注于**Cognito身份池(Identity Pool)**相关操作,核心作用是给用户发放临时AWS服务访问凭证,实现对AWS资源的授权访问。
- 常用操作:获取/刷新临时AWS凭证、管理用户身份ID(Identity ID)、处理Google/Facebook等第三方身份提供商的联合身份认证、配置身份池的角色映射规则等。
- 典型使用场景:前端或后端需要让已认证用户访问S3、DynamoDB这类AWS服务时,通过这个包从身份池拿到临时凭证。
@aws-sdk/client-cognito-identity-provider:专注于**Cognito用户池(User Pool)**相关操作,核心是管理用户的生命周期和身份认证本身。
- 常用操作:用户注册、登录(含验证码校验)、修改/重置密码、管理用户属性(邮箱、手机号等)、验证用户身份、创建/删除用户组等。
- 典型使用场景:搭建用户注册登录系统、维护用户账号信息、处理用户的认证流程(比如MFA多因素验证)。
常见协作模式
实际开发中两者经常配合使用:
- 先通过
@aws-sdk/client-cognito-identity-provider完成用户在用户池的认证,拿到ID Token或Access Token; - 再把这些令牌传给
@aws-sdk/client-cognito-identity,向身份池申请临时AWS凭证,之后就能用这个凭证访问其他AWS服务了。
内容的提问来源于stack exchange,提问作者Xin
相关产品推荐
相关产品推荐

