Comment puis-je obtenir UserPool détails par IdentityPool/UserPool id (sub)

0

La question

Est-il un moyen pour obtenir les détails de l'utilisateur (des attributs de profil etc) si j'ai IdentityPool ou UserPool ID (sous -) d'un utilisateur avec le SDK AWS?

Les cas d'utilisation, c'est que je suis en sauver quelques-unes des informations soumises par l'utilisateur dans une DB avec une clé, qui est égale à l'ID d'utilisateur (sub). Donc, quand je suis en train de lire de la bd, je veux restaurer certaines infos de l'utilisateur à partir de ma piscine pour mon INTERFACE utilisateur de l'application.

J'ai trouvé une question similaire (Se cognito utilisateur nom d'utilisateur piscine de cognito identité piscine identityId), mais il semble, la réponse donnée est centrée autour de sans serveur de déploiement, et elle a encore quelques lacunes.

Merci d'avance

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

La meilleure réponse

1

Puisque vous avez de l'utilisateur sub, vous pouvez utiliser AdminGetUser. Elle renvoie l' UserAttributes dans la piscine.

2021-11-24 06:05:46
0

Je crois que j'ai trouvé une solution, c'était sur la surface.

Utilisateur id de pool, on peut utiliser ListUsers appel avec filtre sub = \"${userId}\". Le client à utiliser est CognitoIdentityProviderClientsi le JS est utilisé.

    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
    }));

Bien sûr AdminGetUser peut être utilisé en tant que bien, comme Ulas Keles mentionné ci-dessus, si c'est applicable

2021-11-24 13:50:51

Dans d'autres langues

Cette page est dans d'autres langues

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