В своих приложениях я выполняю вход с помощью apple, по какой-то причине ошибка возврата на моем сервере приводит к тому, что длина имени пользователя при входе с apple не соответствует моему условию, и я не кэширую информацию о пользователе. После этого я обновляю сервер, чтобы удалить требование к длине имени пользователя, но, к сожалению, имя пользователя и адрес электронной почты пустые? Решение, которое я знаю, состоит в том, чтобы прекратить использование идентификатора яблока со страницы настроек на Iphone, есть ли другое решение из кода? вот мой код:
AppleSignInButton(
style: ButtonStyle.whiteOutline,
cornerRadius: 8,
type: ButtonType.signIn,
onPressed: () async {
var isConnected = await checkConnection();
if (!isConnected) {
showErrorDialog(message: ErrorMessage.NO_NETWORK);
} else {
final AuthorizationResult result = await AppleSignIn.performRequests([
AppleIdRequest(requestedScopes: [Scope.email, Scope.fullName])
]);
if (result != null) {
switch (result.status) {
case AuthorizationStatus.authorized:
_loginWithApple(result.credential);
break;
case AuthorizationStatus.cancelled:
break;
case AuthorizationStatus.error:
showErrorDialog(message: result.error.localizedFailureReason);
break;
}
} else {
showErrorDialog(message: result.status.toString(), onTap: (){});
}
}
},)