поиск пользователей amazon cognito по пользовательскому атрибуту - PullRequest
0 голосов
/ 14 ноября 2018

Я занимаюсь разработкой собственного реагирующего приложения, которое использует aws-усиление для взаимодействия с amazon cognito. В моем случае я должен убедиться, что значение пользовательского атрибута уникально для всех учетных записей. Похоже, в aws-ampify отсутствует API, который позволяет мне выполнять поиск по всем учетным записям по пользовательскому атрибуту. Как я могу это сделать?

Ответы [ 2 ]

0 голосов
/ 15 марта 2019

Это верно, вы не можете искать пользовательский атрибут.Почему нельзя использовать один из стандартных атрибутов AWS Cognito для заполнения так же, как пользовательский атрибут.Просто мысль.Затем вы можете выполнить поиск и проверить его уникальность.

Стандартные атрибуты:

имя пользователя (с учетом регистра)

электронная почта

номер_файла

имя

имя_домена

имя_файла

предпочитаемое_имя_пользователя

cognito: user_status (в консоли вызывается состояние) (без учета регистра)

состояние (называется включенным в консоли) (с учетом регистра)

sub

0 голосов
/ 14 ноября 2018

К сожалению, вы просто не можете использовать только Cognito:

https://docs.aws.amazon.com/cognito/latest/developerguide/how-to-manage-user-accounts.html#cognito-user-pools-searching-for-users-using-listusers-api

Пользовательские атрибуты не доступны для поиска. Это связано с тем, что только индексируемые атрибуты доступны для поиска, а пользовательские атрибуты не могут быть проиндексированы.

Ваша единственная возможность - сохранить собственную базу данных, связывающую пользователя со значением атрибута, и обеспечить уникальность там. Например, в DynamoDB вы должны записать пользовательский sub (уникальный идентификатор Cognito) и значение пользовательского атрибута в качестве ключей сортировки / разделения соответственно, чтобы обычные клиенты Cognito могли только читать пользовательский атрибут, и предоставьте свой собственный API (lambda + api-gateway), чтобы попытаться добавить / обновить таблицу, и используйте API администратора Cognito для обновления пользовательского атрибута «только для чтения» для пользователя.

...