Я пробовал:
Используя @react-native-google-signin /google-signin, чтобы получить токен Google ID:
Код: Выделить всё
await GoogleSignin.hasPlayServices();
const userInfo = await GoogleSignin.signIn();
const idToken = userInfo.idToken;
Использование метода SignInWithRedirect от Cognito:
Код: Выделить всё
const user = await signInWithRedirect({ provider: 'Google' });
Проблемы:
- Неподтвержденные электронные письма: при входе в Google Cognito помечает
электронный адрес как неподтвержденный, даже если Google предоставляет подтвержденный адрес электронной почты. - Дубликаты записей: если пользователь ранее зарегистрировался по электронной почте. (например,
[email protected]) и позже использует вход в Google с тем же адресом электронной почты,
Cognito создает дубликаты учетных записей вместо того, чтобы связывать их.
- Как аутентифицировать пользователя Google в Cognito с помощью idToken
, полученного от @react-native-google-signin/google-signin? - Как убедиться, что адрес электронной почты помечен как подтвержденный в Cognito после
входа в Google? - Как запретить Cognito создавать дубликаты учетных записей для
одного и того же адреса электронной почты, когда пользователи входят в систему Google после регистрации
с использованием адреса электронной почты и пароля?
Я использую React Native с @react-native-google-signin/google-signin.
Cognito настроен для аутентификации по электронной почте/паролю, а Google в качестве поставщик удостоверений
Подробнее здесь: https://stackoverflow.com/questions/792 ... without-br