Вход в AWS Cognito одновременно с использованием имени пользователя и Facebook? - PullRequest
0 голосов
/ 21 апреля 2019

Я хочу, чтобы мои пользователи могли использовать имя пользователя + пароль для входа или Facebook, где они будут добавлять имя пользователя после этого. Как мне настроить Cognito, чтобы это работало?

Когда я устанавливаю имя пользователя в качестве основной опции входа, я не могу добавить Facebook в провайдеры идентификации из-за:

The attribute mapping is missing required attributes [birthdate, gender, name, nickname] (Service: AWSCognitoIdentityProviderService; Status Code: 400; Error Code: InvalidParameterException; Request ID: 33685466-642a-11e9-808c-db0b9bb00ea9)

Есть ли правильный способ справиться с этим логином?

1 Ответ

1 голос
/ 22 апреля 2019

Когда вы используете федеративные удостоверения (например, для входа в систему через Facebook, Amazon или Google), проверка подлинности выполняется на поставщике удостоверений (в вашем случае Facebook), а затем создается профиль в вашем пуле пользователей Cognito путем импорта атрибутов. от ВПЛ.

Федерация идентификации высокого уровня подробно описана здесь: https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-identity-federation.html

Если у вас есть обязательные атрибуты, определенные в вашем пуле пользователей Cognito, вы должны указать Cognito, как сопоставить атрибуты из IDP с вашим атрибутом пула пользователей Cognito. Например, если у вас есть обязательный атрибут «дата рождения» в Cognito, вам нужно сообщить Cognito, где он может получить это значение из профиля Facebook.

Это отображение атрибутов, и это объясняется здесь: https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-specifying-attribute-mapping.html

Решение вышеуказанной проблемы:

a / либо удалите эти атрибуты из списка обязательных атрибутов в Cognito. Это вариант выбора, если ваш ВПЛ не имеет этой информации. (Может ли Facebook сообщать дату рождения и половой признак?)

b / либо определите сопоставление атрибутов, чтобы Cognito знал, где он может получить эти атрибуты в профиле IDP (Facebook).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...