Kaip mes, „Parallels“ užkariavome prisijungimą prie „Apple“.

Kaip mes, „Parallels“ užkariavome prisijungimą prie „Apple“.

Manau, kad daugelis žmonių jau girdėjo apie prisijungimą naudojant „Apple“ (trumpai – SIWA) po WWDC 2019 m. Šiame straipsnyje papasakosiu, su kokiais konkrečiais spąstais teko susidurti integruodamas šį dalyką į mūsų licencijavimo portalą. Šis straipsnis tikrai ne tiems, kurie ką tik nusprendė suprasti SIWA (jiems teksto pabaigoje pateikiau nemažai mokomųjų nuorodų). Šioje medžiagoje greičiausiai daugelis ras atsakymus į klausimus, kurie gali kilti integruojant naująją Apple paslaugą.

„Apple“ neleidžia tinkintų peradresavimų

Tiesą sakant, vis dar nematau atsakymo į šį klausimą kūrėjų forumuose. Esmė tokia: jei norite naudoti SIWA JS API, t.y. neveikia per vietinį SDK, nes dėl vienokių ar kitokių priežasčių trūksta (ne macOS/iOS ar senos šių sistemų versijos), tuomet reikia savo viešo portalo, kitaip nėra kito kelio. Kadangi WWDR portale turite užsiregistruoti ir patvirtinti, kad esate savo domeno savininkas ir tik jame galite pridėti Apple požiūriu priimtinus peradresavimus:

Kaip mes, „Parallels“ užkariavome prisijungimą prie „Apple“.

Ką daryti, jei norite perimti peradresavimą programoje? Šią problemą išsprendėme itin paprastai: portale sukūrėme priimtinų peradresavimų sąrašą mūsų programoms, kuriuos jos užsako prieš rodydami SIWA autorizacijos puslapį. O mes tiesiog nukreipiame iš portalo į programą su iš Apple gautais duomenimis. Paprasta ir pikta.

Problemos su el

Pažiūrėkime, kaip išsprendėme problemas, susijusias su vartotojo el. Pirma, nėra REST API, kuri leistų gauti šią informaciją iš užpakalinės sistemos – tik klientas gauna šiuos duomenis ir gali juos perduoti kartu su autorizacijos kodu.

Antra, informacija apie vartotojo vardą ir el. paštą perduodama tik vieną kartą, vartotojui pirmą kartą prisijungiant prie programos per Apple, kur vartotojas pasirenka savo asmeninių duomenų bendrinimo parinktis.

Pačios šios problemos nėra tiesiogiai kritinės, jei portale buvo sėkmingai sukurtas ryšys su socialiniu profiliu – vartotojo ID yra toks pat ir yra susietas su Team ID – t.y. tai vienoda visoms jūsų komandos SIWA programoms. Bet jei prisijungėte per „Apple“, o toliau kelyje įvyko klaida ir portalo ryšys nebuvo sukurtas, tada vienintelė galimybė yra nusiųsti vartotoją į appleid.apple.com, nutraukti ryšį su programa ir Bandyk iš naujo. Tiesą sakant, problemą galima išspręsti parašius atitinkamą KB straipsnį ir susiejant jį su nuoroda.

Kita nemalonesnė problema susijusi su tuo, kad Apple sugalvojo naują koncepciją su įgaliotuoju el. Mūsų atveju, jei vartotojas jau buvo licencijavimo portale su savo tikru muilu ir pirmą kartą prisijungdamas per Apple pasirenka el. pašto slėpimo parinktį, šiuo tarpiniu serveriu registruojama nauja paskyra. paštu, kuriame, be abejo, nėra jokių licencijų, todėl galutinis vartotojas atsiduria aklavietėje.

Šios problemos sprendimas yra gana paprastas: nes. Jei vartotojo ID yra tas pats SIWA ir nepriklauso nuo pasirinktų parinkčių/programos, prie kurios prisijungiama, tada mes tiesiog naudojame specialų scenarijų, leidžiantį perjungti šį ryšį iš Apple į kitą paskyrą su tikruoju vartotojo muilo ir taip „atkurti savo pirkinius“ Po šios procedūros vartotojas pradeda prieiti prie kitos portalo paskyros per SIWA ir viskas jam veikia tinkamai.

Prisijungiant per interneto portalą nėra programos piktogramos

Norėdami išspręsti kitą problemą, kreipėmės į Apple atstovus, kad jie paaiškintų ir pasidalintų savo žiniomis:

https://forums.developer.apple.com/thread/123054
Kaip mes, „Parallels“ užkariavome prisijungimą prie „Apple“.

Tie. prasmė tokia: SIWA grupės vadove m.b. Pristatoma tik macOS/iOS aplikacija, į kurią jau pridedami reikiami portalų paslaugų ID. Atitinkamai, kad būtų rodoma pagrindinės programos piktograma. versijos, paskelbtos „App Store“ su laikmenomis, kurias patvirtino „Apple“. Piktograma bus paimta iš ten.

Atitinkamai, jei turite tik portalą ir jokių programų iš „App Store“, tada neturėsite gražios piktogramos, tačiau galite atsikratyti programos pavadinimo – jei pagrindinėje programoje nėra medijos, ši informacija yra paimta iš aprašymo paslaugos ID:
Kaip mes, „Parallels“ užkariavome prisijungimą prie „Apple“.
Kaip mes, „Parallels“ užkariavome prisijungimą prie „Apple“.

SIWA grupės elementų skaičius ribojamas iki 5

Šiuo metu nėra šios problemos sprendimo, išskyrus tai, kad reikia naudoti daug grupių, jei trūksta 6 identifikatorių: 1 galvos aplikacijos ir 5 priklausomų, tada bandydami užregistruoti kitą pamatysite šį pranešimą:

Kaip mes, „Parallels“ užkariavome prisijungimą prie „Apple“.

Sukūrėme grupes mūsų licencijų portalui ir kiekvienai programai, kuri sąveikauja su šiuo portalu. Kalbant apie laiko tarpsnių apribojimus, mes jau atidarėme radarą su Apple ir laukiame jų atsakymo.

Naudingos nuorodos

Labiausiai naudinga nuoroda, mano nuomone, pagal kurią viską dariau iš esmės. Pusiau naudingas dokas iš Apple čia.

Mėgautis! Klausimai, mintys, idėjos ir pasiūlymai laukiami komentaruose.

Šaltinis: www.habr.com

Добавить комментарий