Además de los comentarios de David anteriores, encontré un tema relacionado en el sitio de soporte para desarrolladores de Apple que recibió una respuesta oficial que confirma el problema:
Respuesta oficial:
Hola aslkdjalksdjasdasd,
Este comportamiento es correcto; la información del usuario solo se envía en el ASAuthorizationAppleIDCredential durante el registro inicial del usuario. Los siguientes inicios de sesión en tu aplicación mediante “Iniciar sesión con Apple” con la misma cuenta no comparten información del usuario y solo devolverán un identificador de usuario en el ASAuthorizationAppleIDCredential. Se recomienda almacenar de forma segura el ASAuthorizationAppleIDCredential inicial que contiene la información del usuario hasta que puedas validar que se ha creado una cuenta correctamente en tu servidor.
Patrick
Como comenta un desarrollador:
Entonces, espera… si por alguna razón la primera redirección desde Apple se pierde por una de las muchas razones muy comunes, habremos perdido permanentemente a ese usuario, ya que no hay otra forma de obtener su información. ¿No existe ninguna otra manera de obtener esta información?
y otro:
O si algo sale mal aguas abajo, tendríamos a clientes quejándose y el soporte les diría que vayan al sitio web de AppleID para revocar el permiso, para que puedan registrarse correctamente nuevamente. Creo que esto será una mala experiencia y hará que la gente no use este mecanismo de inicio de sesión si empiezan a tener este tipo de problemas.
Por lo tanto, no creo que sea seguro utilizar esto en producción, lamentablemente. Esto sería una pesadilla para el soporte.
Sugiero que dejemos esto en espera hasta que Apple se dé cuenta del problema que han creado: en su intento de mejorar la seguridad, parece que han comprometido excesivamente la robustez.