
Creo que muchos ya después de WWDC 2019 escucharon Iniciar sesión con Apple (brevemente SIWA). En el artículo, le diré qué dificultades específicas tuve que enfrentar al integrar este elemento en nuestro portal con licencia. Este artículo no es para aquellos que simplemente decidieron tratar con SIWA (para ellos les di varios enlaces de investigación al final del texto). En este material, lo más probable es que muchos encuentren respuestas a las preguntas que puedan surgir al integrar el nuevo servicio de Apple.
Apple no permite redireccionamientos personalizados
En realidad, todavía no veo la respuesta a esta pregunta en los foros de desarrollo. La conclusión es: si desea utilizar la API SIWA JS, es decir Si no trabaja a través del SDK nativo debido a la falta de él por una razón u otra (no es macOS / iOS o la versión anterior de estos sistemas), entonces necesita su propio portal público, de lo contrario, nada. Porque en el portal WWDR necesita registrarse y confirmar que es el propietario, su dominio y solo en él puede adjuntar redireccionamientos válidos desde el punto de vista de Apple:

¿Qué hacer si hay un deseo de interceptar una redirección en la aplicación? Resolvimos este problema de manera muy simple: en nuestro portal creamos una lista de redireccionamientos válidos para nuestras aplicaciones, que ordenan antes de mostrar la página de autorización de SIWA. Y solo haga una redirección desde el portal a la aplicación con los datos recibidos de Apple. Simple y alegre
Problemas de correo electrónico
Veamos cómo resolvimos problemas con el correo electrónico del usuario. En primer lugar, no hay una API REST que le permita obtener esta información del backend: solo el cliente recibe estos datos y puede transmitirlos junto con el código de autorización.
En segundo lugar, la información sobre el nombre y el correo electrónico del usuario se transmite solo una vez, al primer usuario que inicia sesión en la aplicación a través de Apple, donde el usuario selecciona opciones para compartir sus datos personales.
Por sí mismos, estos problemas no son directamente críticos si la conexión al perfil social se creó con éxito en el portal: la ID de usuario es la misma y está vinculada a la ID de equipo, es decir. Es una para todas las aplicaciones de su equipo integradas con SIWA. Pero si el inicio de sesión se realizó a través de Apple, y luego ocurrió un error y no se creó la comunicación en el portal, entonces la única opción es enviar al usuario a appleid.apple.com, desconectarse de la aplicación e intentar nuevamente. En realidad, el problema se resuelve escribiendo el artículo KB correspondiente y un enlace al mismo.
El siguiente problema más desagradable es que a Apple se le ocurrió un nuevo concepto con el correo electrónico proxy. En nuestro caso, si el usuario ya estaba en el portal con licencia con su jabón real y el primer inicio de sesión a través de Apple selecciona la opción de ocultar el correo electrónico, se registra una nueva cuenta con este correo electrónico proxy, en la que obviamente no hay licencias, lo que pone al usuario final en callejón sin salida.
La solución a este problema es bastante simple: la ID de usuario es la misma en SIWA y no depende de las opciones / aplicaciones seleccionadas, que es iniciar sesión, entonces solo usamos un script especial para permitirnos cambiar este paquete de Apple a otra cuenta con un jabón de usuario real y así "restaurar nuestras compras ". Después de este procedimiento, el usuario comienza a través de SIWA para acceder a otra cuenta en el portal y todo funciona correctamente para él.
Cuando inicie sesión a través del portal web, no aparecerá el icono de la aplicación
Para resolver otro problema, pedimos a los representantes de Apple que nos aclararan, compartan nuestro conocimiento:
https://forums.developer.apple.com/thread/123054
Es decir el significado es el siguiente: a la cabeza del grupo SIWA m. solo se entrega la aplicación macOS / iOS, en la que ya se han agregado los ID de servicio necesarios de los portales. En consecuencia, para mostrar el icono en la aplicación principal d. Versiones de App Store de medios probados por Apple. El icono se tomará desde allí.
En consecuencia, si solo tiene un portal y no hay una aplicación de la App Store, entonces no habrá un ícono hermoso, pero puede salir con el nombre de la aplicación; en ausencia de medios, la aplicación principal toma esta información de la ID de servicio de descripción:


El número de elementos en el grupo SIWA está limitado a 5
Este problema no tiene una solución en este momento, excepto por el uso de muchos grupos, si le faltan 6 identificadores: 1 aplicación principal y 5 dependientes, cuando intente registrarse el siguiente verá este mensaje:

Hemos creado grupos para nuestro portal con licencia y para cada una de las aplicaciones que funcionan con este portal. En cuanto a las restricciones en las máquinas tragamonedas, ya hemos lanzado un radar en Apple y estamos esperando su respuesta.
Enlaces utiles
El
enlace más útil, en mi opinión, según el cual hice todo en esencia. El útil muelle de Apple está
aquí .
¡A disfrutar! Preguntas, pensamientos, ideas y sugerencias son aceptadas en los comentarios.