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