Как я могу получить сведения о пуле пользователей по идентификатору IdentityPool/UserPool (sub)

0

Вопрос

Есть ли способ получить сведения о пользователе (атрибуты профиля и т.д.), Если у меня есть идентификатор IdentityPool или идентификатор (sub) пользователя с AWS SDK?

Вариант использования заключается в том, что я сохраняю некоторую информацию, предоставленную пользователем, в базе данных с ключом, равным идентификатору пользователя (sub). Поэтому, когда я читаю его из базы данных, я хочу восстановить некоторую информацию о пользователе из своего пула для пользовательского интерфейса приложения.

Я нашел аналогичный вопрос (Получение имени пользователя пула пользователей cognito из идентификатора идентификатора пула идентификаторов cognito), но, похоже, данный ответ сосредоточен на развертывании без сервера и все еще имеет некоторые пробелы.

Заранее спасибо

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

Лучший ответ

1

Так как у вас есть права пользователя sub, вы можете использовать AdminGetUser. Он возвращает UserAttributes в бассейне.

2021-11-24 06:05:46
0

Я думаю, что нашел решение, на самом деле оно было на поверхности.

Имея идентификатор пула пользователей, можно использовать ListUsers вызов с фильтром sub = \"${userId}\". Клиент, который будет использоваться, является CognitoIdentityProviderClient, если используется JS.

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

Конечно, AdminGetUser также можно использовать, как упоминал выше Улас Келес, если это применимо

2021-11-24 13:50:51

На других языках

Эта страница на других языках

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

Популярное в этой категории

Популярные вопросы в этой категории