1

我正在我的应用程序中管理 Cognito 的会员资格。顺便说一句,cognito 会查找密码,但不提供用户名查找。我不是在找吗?或者它不提供功能?所以我尝试通过将它存储在mysql中来找到我的id。每个人如何在 Cognito 中找到用户名?

4

2 回答 2

0

您可以使用AdminGetUser从给定池中获取用户。

在python中是这样的:

from boto3 import client

_cognito = client('cognito-idp')

user = _cognito.admin_get_user(
    UserPoolId='Your-Pool-Id',
    Username='Your-User',
)

正如@joe 在评论中所建议的那样,您也可以使用GetUser但您需要一个访问令牌。

from boto3 import client

_cognito = client('cognito-idp')

user = _cognito.get_user(
    AccessToken='Your-Access-Token',
)
于 2019-10-24T21:30:03.703 回答
0

如果您的用户已通过身份验证,并且您拥有他们的 ID 和访问 JWT 令牌,您可以对这些令牌进行解码,并且它们包含用户属性,如 sub、email 等,这些属性可能会提供您需要的信息。这里有关于如何解码每个令牌的示例代码,但基本上它们是在三个句点分隔的部分(如 aaa.bbb.ccc)中进行 base64 编码,因此您只需将字符串拆分为“。” 和 base64 解码每个部分。

于 2019-11-10T16:43:00.210 回答