我正在开发一个python脚本,该脚本与使用Amazon Cognito(我不熟悉)作为身份验证后端的Web服务交互,我在登录时遇到了困难。
我的主要问题是boto3需要AWS访问密钥和密钥(不提供那些我得到的NoCretal alsError),但由于此脚本将驻留在多个不受信任的计算机上,我不想存储/嵌入这些密钥,出于明显的安全原因。
这些不受信任的计算机将有权访问的信息是:
根据这些客户端拥有的信息,是否有可能正确地使用Cognito进行身份验证?如果是,如何进行?
是的。调用get_credentials_for_identity()
。它不需要任何凭据。使用如下:
import boto3
cognito = boto3.client('cognito-identity')
response = cognito.get_credentials_for_identity(IdentityId="id")
其中"id"
是Cognito身份池ID。response
应该返回一个cript
,包括临时访问密钥、秘密访问密钥、会话令牌和到期日期。