Как прикрепить учетную запись Facebook к пользователю AWS Cognito

#facebook #amazon-cognito #federated-identity #aws-userpools

#Facebook #amazon-cognito #федеративная идентификация #aws-пользовательские бассейны

Вопрос:

У меня есть набор пользователей в пуле пользователей Cognito. Этим пользователям, и ТОЛЬКО этим пользователям, разрешено входить в мое веб-приложение.

Теперь я хочу разрешить этим пользователям, и ТОЛЬКО этим пользователям, иметь возможность входить в систему либо через Facebook, либо через свои учетные данные для входа. Другими словами, я хочу разрешить пользователю входить в мое приложение, используя Facebook или свои учетные данные для входа в Cognito, и получать доступ к той же учетной записи пользователя Cognito, независимо от того, вошли ли они в систему с помощью FB или Cognito. Просто для ясности, пользователю FB без учетной записи пользователя Cognito не будет разрешено входить в мое приложение. Как мне это сделать? Возможно ли это? Мне кажется, что я должен найти способ сопоставить учетную запись каждого пользователя Cognito в пуле пользователей Cognito с соответствующей учетной записью Facebook.

Из документации Cognito на AWS кажется, что когда я добавляю Facebook в качестве поставщика федеративных удостоверений, это означает, что пользователь может войти в систему либо через Cognito, либо Facebook, и все пользователи Facebook, которые могут войти в Facebook, теперь могут войти в мое приложение. Это НЕ то, что я хочу! Тот факт, что пользователь авторизован для использования Facebook, не означает, что он имеет право использовать мое приложение!

Итак, как мне разрешить пользователю из моего пула пользователей Cognito подключать свою учетную запись Facebook, чтобы у пользователя было несколько способов входа в одну и ту же учетную запись пользователя Cognito?

Ответ №1:

К сожалению, дизайн Cognito не позволяет использовать такую функцию, позволяющую входить в систему только нескольким учетным записям Facebook. Когда Facebook включен для пула пользователей Cognito, все действительные пользователи Facebook смогут войти в систему.