Boto3-使用Amazon Cognito进行身份验证而不使用访问密钥

smnz

我正在开发一个Python脚本,该脚本与使用Amazon Cognito(我不熟悉)作为身份验证后端的Web服务进行交互,并且登录时遇到困难。

我的主要问题是boto3同时需要AWS访问密钥和秘密密钥(没有提供这些密钥,但我得到了“ NoCredentialsError”),但是由于此脚本将驻留在多个不受信任的计算机上,因此我不想存储/嵌入这些密钥,明显的安全原因。

这些不受信任的计算机将可以访问的信息是:

  • 登录Web服务的用户名和密码
  • Cognito身份池ID
  • Cognito用户池ID
  • 知道客户端ID

利用这些客户所拥有的信息,是否可以通过Cognito正确进行身份验证?如果是这样,怎么办?

芒果英雄1

是。致电get_credentials_for_identity()它不需要任何凭证。如下使用:

import boto3
cognito = boto3.client('cognito-identity')
response = cognito.get_credentials_for_identity(IdentityId="id")

"id"Cognito身份池ID在哪里response应该返回一个dict包括临时访问密钥,秘密访问密钥,会话令牌和到期日期的密钥。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章