繁体   English   中英

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

[英]Boto3 - Authenticating with Amazon Cognito without using access keys

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

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

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

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

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

是。 调用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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM