Kuidas võitsime Apple'iga sisselogimise Parallelsis

Kuidas võitsime Apple'iga sisselogimise Parallelsis

Arvan, et paljud inimesed kuulsid juba pärast WWDC 2019 sõna Logi sisse Apple'iga (lühidalt SIWA). Selles artiklis räägin teile, milliste konkreetsete lõkse pidin selle asja meie litsentsiportaali integreerimisel silmitsi seisma. See artikkel pole tegelikult mõeldud neile, kes on just otsustanud SIWA-st aru saada (nende jaoks olen teksti lõpus lisanud mitmeid harivaid linke). Sellest materjalist leiavad paljud tõenäoliselt vastused küsimustele, mis võivad tekkida uue Apple'i teenuse integreerimisel.

Apple ei luba kohandatud ümbersuunamisi

Tegelikult ei näe ma sellele küsimusele endiselt arendajafoorumites vastust. Asi on selles: kui soovite kasutada SIWA JS API-d, st. ei tööta läbi native SDK, kuna see ühel või teisel põhjusel puudub (mitte macOS/iOS või nende süsteemide vana versioon), siis on vaja oma avalikku portaali, muidu pole muud võimalust. Kuna WWDR-i portaalis peate registreeruma ja kinnitama, et olete oma domeeni omanik ning ainult sellele saate lisada Apple'i seisukohast vastuvõetavaid ümbersuunamisi:

Kuidas võitsime Apple'iga sisselogimise Parallelsis

Mida peaksite tegema, kui soovite rakenduses ümbersuunamist kinni pidada? Lahendasime selle probleemi äärmiselt lihtsalt: koostasime oma portaalis oma rakenduste jaoks vastuvõetavate ümbersuunamiste loendi, mille nad tellivad enne SIWA autoriseerimislehe kuvamist. Ja me lihtsalt suuname portaalist Apple'ilt saadud andmetega rakendusse. Lihtne ja vihane.

Probleemid meiliga

Vaatame, kuidas me lahendasime probleeme kasutaja meiliga. Esiteks puudub REST API, mis võimaldab teil seda teavet taustaprogrammist hankida - ainult klient saab need andmed ja saab need koos autoriseerimiskoodiga edastada.

Teiseks edastatakse teave kasutaja nime ja e-posti kohta ainult üks kord, kasutaja kõige esimesele sisselogimisele Apple'i kaudu, kus kasutaja valib oma isikuandmete jagamise võimalused.

Iseenesest pole need probleemid otseselt kriitilised, kui ühendus sotsiaalprofiiliga sai portaalis edukalt loodud - kasutajatunnus on sama ja lingitud Team ID-ga - s.t. see kehtib kõigi teie meeskonna SIWA-ga integreeritud rakenduste puhul. Aga kui sisselogimine toimus Apple'i kaudu ja edasisel teel tekkis viga ja portaalis ühendust ei loodud, siis on ainus võimalus saata kasutaja aadressile appleid.apple.com, katkestada ühendus rakendusega ja proovi uuesti. Tegelikult saab probleemi lahendada, kirjutades vastava KB artikli ja lingides sellele.

Järgmine ebameeldivam probleem on seotud sellega, et Apple tuli puhvermeiliga välja uue kontseptsiooniga. Meie puhul, kui kasutaja on juba oma pärisseebiga litsentsimisportaalis käinud ja esimest korda Apple’i kaudu sisse logides valib e-kirja peitmise võimaluse, registreeritakse selle puhverserveri e-postiga uus konto. mail, mis ilmselgelt ei sisalda ühtegi litsentsi, mis viib lõppkasutaja tupikusse.

Selle probleemi lahendus on üsna lihtne: kuna. Kui kasutaja ID on SIWA-s sama ja ei sõltu valitud suvanditest/rakendusest, millesse sisse logitakse, siis kasutame lihtsalt spetsiaalset skripti, mis võimaldab teil selle ühenduse Apple'ilt teisele kontole ümber lülitada kasutaja tegeliku kontoga. seep ja seeläbi "taastage oma ostud" " Pärast seda protseduuri alustab kasutaja SIWA kaudu juurdepääsu teisele portaali kontole ja kõik töötab tema jaoks õigesti.

Veebiportaali kaudu sisselogimisel rakenduse ikooni pole

Teise probleemi lahendamiseks pöördusime Apple'i esindajate poole selgituste saamiseks ja oma teadmiste jagamiseks:

https://forums.developer.apple.com/thread/123054
Kuidas võitsime Apple'iga sisselogimise Parallelsis

Need. tähendus on järgmine: SIWA grupi eesotsas m.b. Tarnitakse ainult macOS/iOS-i rakendust, kuhu on juba lisatud portaalide vajalikud teenuse ID-d. Vastavalt sellele, et kuvada põhirakenduse ikooni. App Store'is avaldatud versioonid Apple'i kinnitatud meediumitega. Ikoon võetakse sealt.

Seega, kui teil on ainult portaal ja App Store'i rakendusi pole, siis pole teil ilusat ikooni, kuid saate rakenduse nimega pääseda - kui põhirakendusel pole meediat, on see teave võetud teenuse kirjelduse ID-st:
Kuidas võitsime Apple'iga sisselogimise Parallelsis
Kuidas võitsime Apple'iga sisselogimise Parallelsis

SIWA rühma elementide arv on piiratud 5-ga

Sellele probleemile pole hetkel lahendust, välja arvatud paljude gruppide kasutamine, kui teil on puudu 6 identifikaatorit: 1 pearakendus ja 5 sõltuvat, siis kui proovite registreerida järgmist, näete järgmist teadet:

Kuidas võitsime Apple'iga sisselogimise Parallelsis

Oleme loonud rühmad oma litsentsiportaali ja iga selle portaaliga suhtleva rakenduse jaoks. Seoses teenindusaegade piirangutega oleme Apple'iga juba radari avanud ja ootame nende vastust.

Kasulikud lingid

Kõige kasulikum link, enda arust mille järgi tegin kõik sisuliselt ära. Poolkasulik dokk Apple'ilt siin.

Nautige! Küsimused, mõtted, ideed ja ettepanekud on teretulnud kommentaaridesse.

Allikas: www.habr.com

Lisa kommentaar