Cómo conquistamos Iniciar sesión con Apple en Parallels

Cómo conquistamos Iniciar sesión con Apple en Parallels

Creo que mucha gente ya escuchó Iniciar sesión con Apple (SIWA para abreviar) después de la WWDC 2019. En este artículo, le diré qué dificultades específicas tuve que enfrentar al integrar esto en nuestro portal de licencias. Este artículo no es realmente para aquellos que acaban de decidir entender SIWA (para ellos he proporcionado una serie de enlaces educativos al final del texto). En este material, lo más probable es que muchos encuentren respuestas a las dudas que puedan surgir a la hora de integrar el nuevo servicio de Apple.

Apple no permite redirecciones personalizadas

De hecho, todavía no veo una respuesta a esta pregunta en los foros de desarrolladores. El punto es este: si desea utilizar la API SIWA JS, es decir. no funciona a través del SDK nativo debido a la falta de uno por una razón u otra (no macOS/iOS o una versión antigua de estos sistemas), entonces necesita su propio portal público, de lo contrario no hay otra manera. Porque en el portal WWDR debes registrarte y confirmar que eres el propietario de tu dominio, y solo en él puedes adjuntar redireccionamientos aceptables desde el punto de vista de Apple:

Cómo conquistamos Iniciar sesión con Apple en Parallels

¿Qué debes hacer si quieres interceptar una redirección en una aplicación? Resolvimos este problema de manera extremadamente simple: creamos en nuestro portal una lista de redireccionamientos aceptables para nuestras aplicaciones, que solicitan antes de mostrar la página de autorización SIWA. Y simplemente redireccionamos desde el portal a la aplicación con los datos recibidos de Apple. Sencillo y enojado.

Problemas con el correo electrónico

Veamos cómo resolvimos problemas con el correo electrónico del usuario. En primer lugar, no existe una API REST que le permita obtener esta información desde el 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 sólo una vez, cuando el usuario inicia sesión por primera vez en la aplicación a través de Apple, donde el usuario selecciona opciones para compartir sus datos personales.

En sí mismos, estos problemas no son directamente críticos si la conexión con el perfil social se creó exitosamente en el portal (el ID de usuario es el mismo y está vinculado al ID del equipo), es decir. es lo mismo para todas las aplicaciones integradas en SIWA de su equipo. Pero si el inicio de sesión se realizó a través de Apple y más adelante ocurrió un error y no se creó la conexión en el portal, entonces la única opción es enviar al usuario a appleid.apple.com, romper la conexión con la aplicación y intentar otra vez. En realidad, el problema se puede resolver escribiendo el artículo de KB apropiado y vinculándolo.

El siguiente problema más desagradable está relacionado con el hecho de que a Apple se le ocurrió un nuevo concepto con el correo electrónico proxy. En nuestro caso, si el usuario ya ha visitado el portal de licencias con su jabón real y, al iniciar sesión por primera vez 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. mail, que obviamente no contiene ninguna licencia, lo que pone al usuario final en un callejón sin salida.

La solución a este problema es bastante sencilla: porque. Si la ID de usuario es la misma en SIWA y no depende de las opciones/aplicación seleccionadas en las que se realiza el inicio de sesión, entonces simplemente usamos un script especial para permitirle cambiar esta conexión de Apple a otra cuenta con la cuenta real del usuario. jabón y así “recuperar tus compras” " Luego de este procedimiento, el usuario comienza a acceder a otra cuenta del portal a través de SIWA y todo le funciona correctamente.

No hay ningún ícono de aplicación al iniciar sesión a través del portal web

Para resolver otro problema, recurrimos a los representantes de Apple para obtener una aclaración y compartir nuestro conocimiento:

https://forums.developer.apple.com/thread/123054
Cómo conquistamos Iniciar sesión con Apple en Parallels

Aquellos. el significado es el siguiente: al frente del grupo SIWA m.b. Solo se entrega la aplicación macOS/iOS, en la que ya están añadidos los ID de servicio necesarios de los portales. En consecuencia, para que se muestre el icono de la aplicación principal. Versiones publicadas en la App Store con medios que han sido verificados por Apple. El ícono se tomará desde allí.

En consecuencia, si solo tiene un portal y no tiene aplicaciones de la App Store, entonces no tendrá un ícono hermoso, pero puede salirse con el nombre de la aplicación; si la aplicación principal no tiene medios, esta información es tomado del ID del servicio de descripción:
Cómo conquistamos Iniciar sesión con Apple en Parallels
Cómo conquistamos Iniciar sesión con Apple en Parallels

El número de elementos en un grupo SIWA está limitado a 5

No hay solución a este problema en este momento excepto usar muchos grupos, si le faltan 6 identificadores: 1 de aplicación principal y 5 dependientes, cuando intente registrar el siguiente verá este mensaje:

Cómo conquistamos Iniciar sesión con Apple en Parallels

Hemos creado grupos para nuestro portal de licencias y para cada una de las aplicaciones que interactúan con este portal. Respecto a las restricciones de slots, ya hemos abierto un radar con Apple y estamos esperando su respuesta.

Enlaces de interés

Más útil Enlace, en mi opinión, según el cual hice todo esencialmente. Muelle semiútil de Apple aquí.

¡Disfrutar! Preguntas, pensamientos, ideas y sugerencias son bienvenidas en los comentarios.

Fuente: habr.com

Añadir un comentario