У меня есть вход с помощью Apple, реализованный в моем собственном приложении React. Иногда это работает, иногда нет.
Когда он не работает, он возвращает все нулевые значения пользователя, например:
{
"authorizationCode": "123456789omitted",
"email": null,
"fullName": Object {
"familyName": null,
"givenName": null,
"middleName": null,
"namePrefix": null,
"nameSuffix": null,
"nickname": null,
},
"identityToken": "987654321omitted",
"realUserStatus": 1,
"state": null,
"user": "192837465omitted",
}
почему это могло происходить?
<AppleAuthentication.AppleAuthenticationButton
buttonType={AppleAuthentication.AppleAuthenticationButtonType.SIGN_IN}
buttonStyle={AppleAuthentication.AppleAuthenticationButtonStyle.BLACK}
cornerRadius={5}
style={{
width: Constant.width * 0.92,
height: 44,
}}
onPress={async () => {
try {
setAppleLoggingIn(true);
const credential = await AppleAuthentication.signInAsync({
requestedScopes: [
AppleAuthentication.AppleAuthenticationScope.FULL_NAME,
AppleAuthentication.AppleAuthenticationScope.EMAIL,
],
});
// signed in
onSignIn(credential);//signs in user via firebase
setAppleLoggingIn(false);
} catch (e) {
if (e.code === "ERR_CANCELED") {
// handle that the user canceled the sign-in flow
setAppleLoggingIn(false);
return {cancelled: true};
} else {
// handle other errors
setAppleLoggingIn(false);
return {error: true};
}
}
}}
/>
Я думаю, что это как-то связано с этим вопросом, но я никогда не блокировал доступ приложения к моему идентификатору Apple ... Я всегда принимаю, когда оно запрашивает разрешения. Получение нулевого значения идентификатора электронной почты в качестве ответа во время аутентификации Apple < / а>