Kako smo pri Parallels osvojili Sign In with Apple

Kako smo pri Parallels osvojili Sign In with Apple

Mislim, da je veliko ljudi že slišalo Sign In with Apple (kratko SIWA) po WWDC 2019. V tem članku vam bom povedal, s katerimi posebnimi pastmi sem se moral soočiti pri integraciji te stvari v naš portal za licenciranje. Ta članek pravzaprav ni za tiste, ki so se šele odločili razumeti SIWA (zanje sem na koncu besedila navedel številne izobraževalne povezave). V tem gradivu bodo najverjetneje mnogi našli odgovore na vprašanja, ki se lahko pojavijo pri integraciji nove storitve Apple.

Apple ne dovoljuje preusmeritev po meri

Pravzaprav še vedno ne vidim odgovora na to vprašanje na forumih za razvijalce. Bistvo je naslednje: če želite uporabiti SIWA JS API, tj. ne delate prek izvornega SDK-ja zaradi pomanjkanja enega iz enega ali drugega razloga (ne macOS/iOS ali stare različice teh sistemov), potem potrebujete svoj javni portal, drugače ne gre drugače. Kajti na portalu WWDR se morate registrirati in potrditi, da ste lastnik svoje domene in samo na njem lahko pripnete preusmeritve, ki so sprejemljive z Applovega vidika:

Kako smo pri Parallels osvojili Sign In with Apple

Kaj storiti, če želite prestreči preusmeritev v aplikaciji? To težavo smo rešili izjemno preprosto: na našem portalu smo ustvarili seznam sprejemljivih preusmeritev za naše aplikacije, ki jih naročijo pred prikazom avtorizacijske strani SIWA. In preprosto preusmerimo s portala na aplikacijo s podatki, prejetimi od Appla. Preprosto in jezno.

Težave z e-pošto

Poglejmo, kako smo rešili težave z uporabnikovo e-pošto. Prvič, ni API-ja REST, ki bi vam omogočal pridobitev teh informacij iz ozadja - samo odjemalec prejme te podatke in jih lahko posreduje skupaj z avtorizacijsko kodo.

Drugič, informacije o uporabnikovem imenu in e-pošti se posredujejo samo enkrat, do uporabnikove prve prijave v aplikacijo preko Apple, kjer uporabnik izbere možnosti za deljenje svojih osebnih podatkov.

Te težave same po sebi niso neposredno kritične, če je bila na portalu uspešno ustvarjena povezava s socialnim profilom – ID uporabnika je enak in je povezan z ID-jem ekipe – t.j. enaka je za vse aplikacije, integrirane v SIWA vaše ekipe. Če pa je bila prijava opravljena prek Apple-a in je v nadaljevanju na poti prišlo do napake in povezava na portalu ni bila ustvarjena, potem je edina možnost, da uporabnika pošljete na appleid.apple.com, prekinete povezavo z aplikacijo in poskusi ponovno. Pravzaprav je težavo mogoče rešiti tako, da napišete ustrezen članek v KB in ustvarite povezavo do njega.

Naslednja bolj neprijetna težava je povezana z dejstvom, da se je Apple domislil novega koncepta s proxy e-pošto. V našem primeru, če je uporabnik že bil na licenčnem portalu s svojim pravim milom in ob prvi prijavi prek Applea izbere možnost skrivanja e-pošte, se pri tem posredniku e-pošte registrira nov račun. pošte, ki očitno ne vsebuje nobenih licenc, kar končnega uporabnika postavlja v slepo ulico.

Rešitev te težave je povsem preprosta: ker. Če je ID uporabnika enak v SIWA in ni odvisen od izbranih možnosti/aplikacije, v katero se vpisuje, potem preprosto uporabimo posebno skripto, ki vam omogoča, da to povezavo iz Apple preklopite na drug račun z dejanskim uporabnikom. milo in s tem »obnovite svoje nakupe«« Po tem postopku začne uporabnik prek SIWA dostopati do drugega računa na portalu in mu vse deluje pravilno.

Pri prijavi prek spletnega portala ni ikone aplikacije

Da bi rešili drugo težavo, smo se obrnili na predstavnike Apple za pojasnila in delili svoje znanje:

https://forums.developer.apple.com/thread/123054
Kako smo pri Parallels osvojili Sign In with Apple

Tisti. pomen je naslednji: na čelu skupine SIWA m.b. Dostavljena je samo aplikacija macOS/iOS, v katero so že dodani potrebni ID-ji storitev portalov. V skladu s tem, da se prikaže ikona glavne aplikacije. različice, objavljene v App Store z mediji, ki jih je preveril Apple. Ikona bo vzeta od tam.

V skladu s tem, če imate samo portal in nobenih aplikacij iz App Store, potem ne boste imeli lepe ikone, vendar se lahko izognete z imenom aplikacije - če glavna aplikacija nima medija, so te informacije vzeto iz ID storitve Description:
Kako smo pri Parallels osvojili Sign In with Apple
Kako smo pri Parallels osvojili Sign In with Apple

Število elementov v skupini SIWA je omejeno na 5

Za to težavo trenutno ni rešitve, razen uporabe številnih skupin, če vam manjka 6 identifikatorjev: 1 glavna aplikacija in 5 odvisnih, ko boste poskušali registrirati naslednjo, boste videli to sporočilo:

Kako smo pri Parallels osvojili Sign In with Apple

Ustvarili smo skupine za naš licenčni portal in za vsako od aplikacij, ki komunicirajo s tem portalom. Glede omejitev slotov smo že odprli radar z Appleom in čakamo na njihov odgovor.

Uporabne povezave

Najbolj uporaben povezava, po mojem mnenju, po katerem sem naredil vse bistveno. Pol-uporabna priklopna postaja podjetja Apple tukaj.

Uživajte! Vprašanja, misli, ideje in predlogi so dobrodošli v komentarjih.

Vir: www.habr.com

Dodaj komentar