Como conquistamos Parallels Iniciar sesión con Apple

Como conquistamos Parallels Iniciar sesión con Apple

Creo que moita xente xa escoitou Iniciar sesión con Apple (SIWA para abreviar) despois da WWDC 2019. Neste artigo vouvos dicir que trampas específicas tiven que enfrontar ao integrar esta cousa no noso portal de licenzas. Este artigo non é realmente para aqueles que acaban de decidir entender SIWA (para eles proporcionei unha serie de ligazóns educativas ao final do texto). Neste material, moi probablemente, moitos atoparán respostas ás dúbidas que poidan xurdir ao integrar o novo servizo de Apple.

Apple non permite redireccións personalizadas

De feito, aínda non vexo unha resposta a esta pregunta nos foros de desenvolvedores. O punto é o seguinte: se queres usar a API SIWA JS, é dicir. non funcione a través do SDK nativo debido á falta dun por un ou outro motivo (non macOS/iOS ou unha versión antiga destes sistemas), entón necesitas o teu propio portal público, se non, non hai outro xeito. Porque no portal WWDR tes que rexistrarte e confirmar que es o propietario do teu dominio, e só nel podes anexar redireccións que sexan aceptables desde o punto de vista de Apple:

Como conquistamos Parallels Iniciar sesión con Apple

Que debes facer se queres interceptar unha redirección nunha aplicación? Resolvemos este problema de forma moi sinxela: creamos no noso portal unha lista de redireccións aceptables para as nosas aplicacións, que solicitan antes de mostrar a páxina de autorización SIWA. E simplemente rediriximos desde o portal á aplicación cos datos recibidos de Apple. Sinxelo e enfadado.

Problemas co correo electrónico

Vexamos como resolvemos os problemas co correo electrónico do usuario. En primeiro lugar, non hai unha API REST que che permita obter esta información do backend; só o cliente recibe estes datos e pode transmitilos xunto co código de autorización.

En segundo lugar, a información sobre o nome e o correo electrónico do usuario transmítese unha soa vez, ata o primeiro inicio de sesión do usuario na aplicación a través de Apple, onde o usuario selecciona as opcións para compartir os seus datos persoais.

En si mesmos, estes problemas non son directamente críticos se a conexión co perfil social se creou con éxito no portal - o ID de usuario é o mesmo e está ligado ao ID de equipo - é dicir. é o mesmo para todas as aplicacións integradas en SIWA do teu equipo. Pero se o inicio de sesión se realizou a través de Apple, e máis lonxe no camiño produciuse un erro e non se creou a conexión no portal, entón a única opción é enviar ao usuario a appleid.apple.com, romper a conexión coa aplicación e téntao de novo. En realidade, o problema pódese resolver escribindo o artigo correspondente da KB e enlazando a el.

O seguinte problema máis desagradable está relacionado co feito de que Apple presentou un novo concepto de correo electrónico proxy. No noso caso, se o usuario xa estivo no portal de licenzas co seu xabón real e, ao iniciar sesión por primeira vez a través de Apple, selecciona a opción de ocultar o correo electrónico, rexístrase unha nova conta con este proxy e- correo, que obviamente non contén ningunha licenza, o que pon ao usuario final nun camiño sen saída.

A solución a este problema é ben sinxela: porque. Se o ID de usuario é o mesmo en SIWA e non depende das opcións/aplicación seleccionadas na que se realice o inicio de sesión, entón simplemente usamos un script especial para permitirche cambiar esta conexión de Apple a outra conta coa conta real do usuario. xabón e así "restaura as túas compras" " Despois deste procedemento, o usuario comeza a acceder a outra conta do portal a través de SIWA e todo funciona correctamente para el.

Non hai ningunha icona de aplicación ao iniciar sesión a través do portal web

Para resolver outro problema, recorremos aos representantes de Apple para aclaracións e compartir o noso coñecemento:

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

Eses. o significado é o seguinte: á fronte do grupo SIWA m.b. Só se entrega a aplicación macOS/iOS, á que xa se engaden os ID de servizo necesarios dos portais. En consecuencia, para que se mostre a icona da aplicación principal. versións publicadas na App Store con medios que foron verificados por Apple. A icona tomarase de alí.

En consecuencia, se só tes un portal e non tes aplicacións da App Store, non terás unha fermosa icona, pero podes saír co nome da aplicación; se a aplicación principal non ten medios, esta información é tomado do ID do servizo de descrición:
Como conquistamos Parallels Iniciar sesión con Apple
Como conquistamos Parallels Iniciar sesión con Apple

O número de elementos nun grupo SIWA está limitado a 5

Non hai solución a este problema polo momento, excepto utilizar moitos grupos, se che faltan 6 identificadores: 1 aplicación principal e 5 dependentes, cando intentes rexistrar o seguinte verás esta mensaxe:

Como conquistamos Parallels Iniciar sesión con Apple

Creamos grupos para o noso portal de licenzas e para cada unha das aplicacións que interactúan con este portal. En canto ás restricións de slots, xa abrimos un radar con Apple e estamos á espera da súa resposta.

Ligazóns útiles

O máis útil ligazón, na miña opinión, segundo o cal fixen todo esencialmente. Dock semiútil de Apple aquí.

Disfruta! Preguntas, pensamentos, ideas e suxestións son benvidas nos comentarios.

Fonte: www.habr.com

Engadir un comentario