Kako smo mi u Parallelsu osvojili Sign In with Apple

Kako smo mi u Parallelsu osvojili Sign In with Apple

Mislim da su mnogi ljudi već čuli Sign In with Apple (skraćeno SIWA) nakon WWDC 2019. U ovom ću vam članku reći s kojim sam se specifičnim zamkama morao suočiti pri integraciji ove stvari u naš portal za licenciranje. Ovaj članak nije baš za one koji su tek odlučili razumjeti SIWA (za njih sam dao niz edukativnih poveznica na kraju teksta). U ovom materijalu, najvjerojatnije, mnogi će pronaći odgovore na pitanja koja se mogu pojaviti prilikom integracije nove Appleove usluge.

Apple ne dopušta prilagođena preusmjeravanja

Zapravo, još uvijek ne vidim odgovor na ovo pitanje na forumima programera. Poanta je sljedeća: ako želite koristiti SIWA JS API, tj. ne radite preko izvornog SDK-a zbog nedostatka istog iz ovog ili onog razloga (ne macOS/iOS ili stara verzija ovih sustava), tada vam je potreban vlastiti javni portal, inače nema drugog načina. Zato što se na WWDR portalu trebate registrirati i potvrditi da ste vlasnik svoje domene i samo na njemu možete priložiti preusmjeravanja koja su prihvatljiva s Appleovog gledišta:

Kako smo mi u Parallelsu osvojili Sign In with Apple

Što trebate učiniti ako želite presresti preusmjeravanje u aplikaciji? Taj smo problem riješili krajnje jednostavno: na našem portalu napravili smo listu prihvatljivih preusmjeravanja za naše aplikacije, koje one poredaju prije prikazivanja SIWA autorizacijske stranice. I jednostavno preusmjeravamo s portala na aplikaciju s podacima dobivenim od Applea. Jednostavan i ljutit.

Problemi s e-poštom

Pogledajmo kako smo riješili probleme s korisnikovom e-poštom. Prvo, ne postoji REST API koji vam omogućuje dobivanje ovih informacija iz pozadine - samo klijent prima te podatke i može ih prenijeti zajedno s autorizacijskim kodom.

Drugo, podaci o imenu i e-mailu korisnika prenose se samo jednom, do prve prijave korisnika u aplikaciju putem Applea, gdje korisnik odabire opcije za dijeljenje svojih osobnih podataka.

Sami po sebi, ovi problemi nisu izravno kritični ako je veza s društvenim profilom uspješno stvorena na portalu - ID korisnika je isti i povezan je s ID-om tima - tj. isti je za sve aplikacije vašeg tima integrirane u SIWA. Ali ako je prijava izvršena preko Applea, a dalje na putu se dogodila greška i veza na portalu nije stvorena, tada je jedina opcija poslati korisnika na appleid.apple.com, prekinuti vezu s aplikacijom i pokušaj ponovo. Zapravo, problem se može riješiti pisanjem odgovarajućeg članka KB i povezivanjem na njega.

Sljedeći neugodniji problem vezan je uz činjenicu da je Apple smislio novi koncept s proxy e-mailom. U našem slučaju, ako je korisnik već bio na portalu za licenciranje sa svojim pravim sapunom i prilikom prve prijave preko Applea odabere opciju skrivanja e-pošte, novi račun se registrira na ovom proxy e-mailu. mail, koji očito ne sadrži nikakve licence, što krajnjeg korisnika dovodi u slijepu ulicu.

Rješenje ovog problema je prilično jednostavno: jer. Ako je korisnički ID isti u SIWA-i i ne ovisi o odabranim opcijama/aplikaciji u koju se prijavljuje, tada jednostavno koristimo posebnu skriptu kako bismo vam omogućili prebacivanje ove veze s Apple-a na drugi račun sa stvarnim korisničkim računom sapun i na taj način “vratite svoje kupnje”" Nakon ove procedure korisnik preko SIWA-e počinje pristupati drugom računu na portalu i sve mu radi ispravno.

Nema ikone aplikacije prilikom prijave putem web portala

Kako bismo riješili još jedan problem, obratili smo se predstavnicima Applea za pojašnjenje i podijelili svoje znanje:

https://forums.developer.apple.com/thread/123054
Kako smo mi u Parallelsu osvojili Sign In with Apple

Oni. značenje je sljedeće: na čelu grupe SIWA m.b. Isporučuje se samo macOS/iOS aplikacija u koju su već dodani potrebni servisni ID-ovi portala. Sukladno tome, kako bi se prikazala ikona glavne aplikacije. verzije objavljene u App Storeu s medijima koje je potvrdio Apple. Ikona će biti preuzeta odatle.

Sukladno tome, ako imate samo portal i nemate aplikacije iz App Storea, tada nećete imati lijepu ikonu, ali možete se izvući s nazivom aplikacije - ako glavna aplikacija nema medij, ova informacija je preuzeto iz ID-a usluge Description:
Kako smo mi u Parallelsu osvojili Sign In with Apple
Kako smo mi u Parallelsu osvojili Sign In with Apple

Broj elemenata u SIWA grupi ograničen je na 5

Trenutačno ne postoji rješenje za ovaj problem osim korištenja mnogih grupa, ako vam nedostaje 6 identifikatora: 1 glavna aplikacija i 5 zavisnih, tada kada pokušate registrirati sljedeću vidjet ćete ovu poruku:

Kako smo mi u Parallelsu osvojili Sign In with Apple

Stvorili smo grupe za naš licencni portal i za svaku od aplikacija koje su u interakciji s ovim portalom. Što se tiče ograničenja utora, već smo otvorili radar s Appleom i čekamo njihov odgovor.

korisni linkovi

Najkorisniji veza, po mom mišljenju, po kojem sam sve suštinski napravio. Polu-korisni dock iz Applea здесь.

Uživati! Pitanja, misli, ideje i prijedlozi dobrodošli su u komentarima.

Izvor: www.habr.com

Dodajte komentar