El proceso de registro con WebAuthn en IOS funciona bien y es de esperar. Como usamos el mismo código tanto en Android como en iOS, no usamos credenciales detectables, sino que guardamos la identificación de la credencial en una cookie. Si un usuario elimina su cookie, no podemos ver si el usuario se ha registrado previamente sin pedirle al usuario que se registre nuevamente. Esto está bien, y si obtenemos un InvalidStateError (porque el usuario ya está registrado), le permitimos pensar que se ha registrado nuevamente y simplemente crea una nueva cookie.
El problema es: cuando se llama a navigator.credentials.create() , InvalidStateError se detecta de inmediato, antes de que el usuario tenga tiempo de hacer algo con respecto a la indicación de faceID que se muestra. Cuando se InvalidStateError , se muestra la página Registro completado. Esto significa que la página completa se muestra detrás de la indicación de identificación facial, lo que es muy confuso para el usuario. ¿Cómo se puede completar el registro si el aviso de identificación de rostro no ha terminado?
En Windows, el error no aparece antes de que el usuario haya completado el aviso de faceid, lo que significa que el proceso de registro se experimenta exactamente como un registro por primera vez.
¿Es un error que se muestre el aviso después de que se arroje el error? ¿Algún consejo sobre cómo puedo solucionar esto? Si este no es el foro adecuado para preguntar, ¿cuál es un lugar mejor?
Saludos, Nina
¿Es un error que se muestre el aviso después de que se arroje el error? ¿Algún consejo sobre cómo puedo solucionar esto? Si este no es el foro adecuado para preguntar, ¿cuál es un lugar mejor?
Esto se siente como un error en WebKit. Mi recomendación es enviar un informe de errores a https://bugs.webkit.org/ . Si puede, incluya un video que muestre el problema usando la grabadora de pantalla de iOS; probablemente será imposible capturar una captura de pantalla a mitad del registro porque, en mi experiencia, iOS descarta el aviso de Face ID si intenta tomar uno.