Я использую пользовательские пулы Cognito для управления регистрацией пользователей и входом в систему в собственном приложении expo. Я также хочу войти через Facebook. В документации сказано, что нам не нужно использовать Auth.federatedSignIn (), если вы уже используете Cognito User Pools, поэтому я не уверен, что еще использовать и как?
вот мой код
loginFB = async (params) => {
try {
const {
type,
token,
expires,
permissions,
declinedPermissions,
} = await Facebook.logInWithReadPermissionsAsync('414271525994061', {
permissions: ['public_profile,email'], behavior: 'native'
});
console.log('type:', type);
console.log('token:', token);
if (type === 'success') {
// Get the user's name using Facebook's Graph API
const response = await fetch(`https://graph.facebook.com/me?access_token=${token}`);
// Alert.alert('Logged in!', `Hi ${(await response.json()).name}!`);
const user = {
name: response.name,
email: response.email
};
const date = new Date();
const expires_at = expires * 1000 + date.getTime();
Auth.federatedSignIn('facebook', { token, expires_at }, user)
.then(credentials => {
console.log(credentials);
});
} else {
// type === 'cancel'
}
} catch ({ message }) {
alert(`Facebook Login Error: ${message}`);
}
}