Como posso obter UserPool detalhes por IdentityPool/UserPool identificação do (sub)

0

Pergunta

Existe uma maneira para obter detalhes do usuário (perfil de atributos, etc) se eu tiver IdentityPool ou UserPool IDENTIFICAÇÃO do (sub) de um usuário com o AWS SDK?

O caso de uso é que eu estou guardando algumas informações enviadas por um usuário em um DB com uma chave igual a ID de usuário (sub). Então, quando eu estou lendo-o DB, quero restaurar de volta algumas informações de usuário da minha piscina para a minha INTERFACE do usuário do aplicativo.

Achei uma pergunta semelhante (Chegando cognito usuário piscina nome de usuário a partir de cognito de identidade do pool de identityId), mas ao que parece, a resposta dada é centrada em torno de sem servidor de implantação, e ainda tem algumas lacunas.

Obrigado antecipadamente

amazon-cognito aws-sdk aws-sdk-js
2021-11-22 01:56:13
2

Melhor resposta

1

Desde que você tem o usuário sub, você pode usar AdminGetUser. Ele retorna o UserAttributes na piscina.

2021-11-24 06:05:46
0

Eu acho que eu encontrei uma solução, ele estava na superfície, na verdade.

Tendo usuário id do pool pode-se usar ListUsers chamada com filtro sub = \"${userId}\". O cliente a ser utilizado é CognitoIdentityProviderClientse JS é usado.

    const client = new CognitoIdentityProviderClient({
        region: REGION,
        credentials: fromCognitoIdentityPool({
            client: new CognitoIdentityClient({ region: REGION }),
            logins: {
                [PROVIDER_ID]: token
            },
            identityPoolId: ID_POOL_ID
        })
    });

    const filter = `sub = \"${userPoolId}\"`;

    const resp = await client.send(new ListUsersCommand({
        UserPoolId: USER_POOL_ID,
        Filter: filter,
        Limit: 1
    }));

É claro que AdminGetUser pode ser usado também, como Ulas Keles mencionado acima, se aplicável

2021-11-24 13:50:51

Em outros idiomas

Esta página está em outros idiomas

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................