Jak mohu získat UserPool podrobnosti o IdentityPool/UserPool id (sub)

0

Otázka

Existuje způsob, jak získat informace o uživateli (profil, atributy atd.), když mám IdentityPool nebo UserPool ID (sub) uživatele s AWS SDK?

Use case je, že šetřím některé informace poskytnuté uživatelem v DB s klíčem rovná ID uživatele (sub). Takže, když to čtu z DB, chci obnovit zpět nějaké info o uživateli z mého bazén pro můj app UI.

Našel jsem podobnou otázku (Získání cognito uživatele bazén uživatelské jméno z cognito identity bazén identityId), ale zdá se, že odpověď je zaměřena kolem serverless nasazení, a stále má některé nedostatky.

Díky předem

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

Nejlepší odpověď

1

Protože máte uživatele submůžete použít AdminGetUser. To vrátí UserAttributes v bazénu.

2021-11-24 06:05:46
0

Myslím, že jsem našel řešení, to bylo na povrchu.

S uživatelsky bazén id lze použít ListUsers volání s filtrem sub = \"${userId}\". Klient má být použit, je CognitoIdentityProviderClientpokud JS se používá.

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

Samozřejmě AdminGetUser lze použít stejně, jako Ulas Keles bylo uvedeno výše, pokud je to použitelné

2021-11-24 13:50:51

V jiných jazycích

Tato stránka je v jiných jazycích

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