Com vam conquerir Iniciar sessió amb Apple a Parallels

Com vam conquerir Iniciar sessió amb Apple a Parallels

Crec que molta gent ja va escoltar Iniciar sessió amb Apple (SIWA abreujada) després de la WWDC 2019. En aquest article us explicaré a quins inconvenients específics he hagut d'enfrontar a l'hora d'integrar això al nostre portal de llicències. Aquest article no és realment per a aquells que acaben de decidir entendre SIWA (per a ells he proporcionat una sèrie d'enllaços educatius al final del text). En aquest material, molt probablement, molts trobaran respostes a les preguntes que puguin sorgir a l'hora d'integrar el nou servei d'Apple.

Apple no permet redireccions personalitzades

De fet, encara no veig una resposta a aquesta pregunta als fòrums de desenvolupadors. La qüestió és aquesta: si voleu utilitzar l'API SIWA JS, és a dir. no funcioneu a través de l'SDK natiu a causa de la manca d'un per un motiu o un altre (no macOS/iOS o una versió antiga d'aquests sistemes), llavors necessiteu el vostre propi portal públic, en cas contrari, no hi ha cap altra manera. Perquè al portal WWDR cal registrar-se i confirmar que ets el propietari del teu domini, i només en ell pots adjuntar redireccions que siguin acceptables des del punt de vista d'Apple:

Com vam conquerir Iniciar sessió amb Apple a Parallels

Què heu de fer si voleu interceptar una redirecció en una aplicació? Hem resolt aquest problema de manera molt senzilla: hem creat al nostre portal una llista de redireccions acceptables per a les nostres aplicacions, que ordenen abans de mostrar la pàgina d'autorització SIWA. I simplement redirigim des del portal a l'aplicació amb les dades rebudes d'Apple. Simple i enfadat.

Problemes amb el correu electrònic

Vegem com hem resolt els problemes amb el correu electrònic de l'usuari. En primer lloc, no hi ha cap API REST que us permeti obtenir aquesta informació del backend: només el client rep aquestes dades i les pot transmetre juntament amb el codi d'autorització.

En segon lloc, la informació sobre el nom i el correu electrònic de l'usuari es transmet una sola vegada, fins al primer inici de sessió de l'usuari a l'aplicació a través d'Apple, on l'usuari selecciona opcions per compartir les seves dades personals.

En si mateixos, aquests problemes no són directament crítics si la connexió amb el perfil social s'ha creat amb èxit al portal -l'identificador d'usuari és el mateix i està vinculat a l'identificador d'equip-, és a dir. és el mateix per a totes les aplicacions integrades a SIWA del vostre equip. Però si l'inici de sessió es va fer a través d'Apple, i més enllà del camí s'ha produït un error i la connexió al portal no es va crear, l'única opció és enviar l'usuari a appleid.apple.com, trencar la connexió amb l'aplicació i torna-ho a provar. De fet, el problema es pot resoldre escrivint l'article de KB adequat i enllaçant-hi.

El següent problema més desagradable està relacionat amb el fet que Apple va inventar un nou concepte amb el correu electrònic proxy. En el nostre cas, si l'usuari ja ha estat al portal de llicències amb el seu sabó real i, en iniciar sessió per primera vegada a través d'Apple, selecciona l'opció d'amagar el correu electrònic, es registra un nou compte amb aquest proxy e- mail, que òbviament no conté cap llicència, cosa que posa l'usuari final en un carreró sense sortida.

La solució a aquest problema és ben senzilla: perquè. Si l'identificador d'usuari és el mateix a SIWA i no depèn de les opcions/aplicació seleccionades en què s'inicia la sessió, simplement utilitzem un script especial que us permetrà canviar aquesta connexió d'Apple a un altre compte amb el compte real de l'usuari. sabó i així "restaura les teves compres"" Després d'aquest tràmit, l'usuari comença a accedir a un altre compte del portal a través de SIWA i tot li funciona correctament.

No hi ha cap icona d'aplicació quan s'inicia la sessió a través del portal web

Per resoldre un altre problema, vam recórrer als representants d'Apple per aclarir-los i compartir els nostres coneixements:

https://forums.developer.apple.com/thread/123054
Com vam conquerir Iniciar sessió amb Apple a Parallels

Aquells. el significat és el següent: al capdavant del grup SIWA m.b. Només es lliura l'aplicació macOS/iOS, a la qual ja s'afegeixen els ID de servei necessaris dels portals. En conseqüència, per tal que es mostri la icona de l'aplicació principal. versions publicades a l'App Store amb suports que han estat verificats per Apple. La icona s'agafarà d'allà.

En conseqüència, si només teniu un portal i no teniu cap aplicació de l'App Store, no tindreu una icona bonica, però podeu sortir amb el nom de l'aplicació; si l'aplicació principal no té mitjans, aquesta informació és extret de l'identificador del servei de descripció:
Com vam conquerir Iniciar sessió amb Apple a Parallels
Com vam conquerir Iniciar sessió amb Apple a Parallels

El nombre d'elements d'un grup SIWA està limitat a 5

No hi ha solució a aquest problema de moment excepte utilitzar molts grups, si us falten 6 identificadors: 1 aplicació principal i 5 de dependents, aleshores quan intenteu registrar el següent veureu aquest missatge:

Com vam conquerir Iniciar sessió amb Apple a Parallels

Hem creat grups per al nostre portal de llicències i per a cadascuna de les aplicacions que interactuen amb aquest portal. Pel que fa a les restriccions de ranures, ja hem obert un radar amb Apple i estem esperant la seva resposta.

links útils

El més útil enllaç, al meu entendre, segons el qual ho vaig fer tot essencialment. Dock semiútil d'Apple aquí.

Gaudeix! Les preguntes, pensaments, idees i suggeriments són benvinguts als comentaris.

Font: www.habr.com

Afegeix comentari