Ako sme v Parallels dobyli prihlásenie s Apple

Ako sme v Parallels dobyli prihlásenie s Apple

Myslím, že veľa ľudí už počulo Prihlásiť sa cez Apple (skrátene SIWA) po WWDC 2019. V tomto článku vám poviem, akým konkrétnym nástrahám som musel čeliť pri integrácii tejto vecičky do nášho licenčného portálu. Tento článok naozaj nie je pre tých, ktorí sa práve rozhodli porozumieť SIWA (pre nich som na konci textu uviedol množstvo vzdelávacích odkazov). V tomto materiáli s najväčšou pravdepodobnosťou mnohí nájdu odpovede na otázky, ktoré môžu vzniknúť pri integrácii novej služby Apple.

Apple nepovoľuje vlastné presmerovania

Vlastne som na vývojárskych fórach stále nevidel odpoveď na túto otázku. Podstata je takáto: ak chcete používať SIWA JS API, t. j. nepracovať cez natívne SDK kvôli jeho absencii z nejakého dôvodu (nie macOSAk používate iOS alebo staršie verzie týchto systémov, potrebujete vlastný verejný portál; iná cesta neexistuje. Na portáli WWDR sa totiž musíte zaregistrovať a overiť vlastníctvo svojej domény a iba táto doména sa môže použiť na presmerovania schválené spoločnosťou Apple:

Ako sme v Parallels dobyli prihlásenie s Apple

Čo by ste mali urobiť, ak chcete v aplikácii zachytiť presmerovanie? Tento problém sme vyriešili mimoriadne jednoducho: na našom portáli sme vytvorili zoznam prijateľných presmerovaní pre naše aplikácie, ktoré si objednávajú pred zobrazením autorizačnej stránky SIWA. A z portálu sa jednoducho presmerujeme do aplikácie s údajmi prijatými od Apple. Jednoduché a nahnevané.

Problémy s e-mailom

Pozrime sa, ako sme vyriešili problémy s e-mailom používateľa. Po prvé, neexistuje žiadne REST API, ktoré by vám umožnilo získať tieto informácie z backendu – iba klient dostane tieto údaje a môže ich preniesť spolu s autorizačným kódom.

Po druhé, informácie o mene a e-maile používateľa sa prenesú iba raz, a to pri prvom prihlásení používateľa do aplikácie cez Apple, kde si používateľ vyberie možnosti zdieľania svojich osobných údajov.

Samy o sebe tieto problémy nie sú priamo kritické, ak sa na portáli úspešne vytvorilo prepojenie so sociálnym profilom – ID používateľa je rovnaké a je prepojené s ID tímu – t.j. je rovnaký pre všetky aplikácie integrované do SIWA vášho tímu. Ak sa však prihlásenie uskutočnilo cez Apple a ďalej na ceste sa vyskytla chyba a spojenie na portáli sa nevytvorilo, potom jedinou možnosťou je poslať používateľa na appleid.apple.com, prerušiť spojenie s aplikáciou a skúste to znova. V skutočnosti sa problém dá vyriešiť napísaním príslušného článku KB a odkazom naň.

Ďalší nepríjemnejší problém súvisí s tým, že Apple prišiel s novým konceptom proxy e-mailu. V našom prípade, ak používateľ už bol na licenčnom portáli so svojím skutočným mydlom a pri prvom prihlásení cez Apple zvolí možnosť skryť e-mail, zaregistruje sa nový účet s týmto proxy e- mail, ktorý zjavne neobsahuje žiadne licencie, čím sa koncový používateľ dostáva do slepej uličky.

Riešenie tohto problému je celkom jednoduché: pretože. Ak je ID používateľa rovnaké v SIWA a nezávisí od vybraných možností/aplikácií, do ktorých sa prihlasuje, potom jednoducho použijeme špeciálny skript, ktorý vám umožní prepnúť toto pripojenie z Apple na iný účet so skutočným používateľským mydlo a tým „obnoviť svoje nákupy“ “ Po tomto postupe používateľ začne pristupovať k inému účtu na portáli cez SIWA a všetko mu funguje správne.

Pri prihlasovaní cez webový portál nie je ikona aplikácie

Aby sme vyriešili ďalší problém, obrátili sme sa na zástupcov spoločnosti Apple so žiadosťou o vysvetlenie a zdieľanie našich poznatkov:

https://forums.developer.apple.com/thread/123054
Ako sme v Parallels dobyli prihlásenie s Apple

To znamená, že význam je nasledovný: na čelo skupiny SIWA môže byť postavení iba jeden macOSAplikácia pre iOS, ktorá už má pridané požadované ID portálových služieb. Preto, aby sa zobrazila hlavná ikona aplikácie, musia byť jej verzie publikované v obchode App Store s médiami, ktoré overila spoločnosť Apple. Ikona bude prevzatá odtiaľ.

Ak teda máte iba portál a žiadne aplikácie z App Store, nebudete mať krásnu ikonu, ale názov aplikácie vám prejde - ak hlavná aplikácia nemá médium, táto informácia je prevzaté z ID služby popisu:
Ako sme v Parallels dobyli prihlásenie s Apple
Ako sme v Parallels dobyli prihlásenie s Apple

Počet prvkov v skupine SIWA je obmedzený na 5

Momentálne neexistuje žiadne riešenie tohto problému okrem použitia mnohých skupín, ak vám chýba 6 identifikátorov: 1 hlavná aplikácia a 5 závislých, potom sa pri pokuse o registráciu ďalšej zobrazí táto správa:

Ako sme v Parallels dobyli prihlásenie s Apple

Vytvorili sme skupiny pre náš licenčný portál a pre každú z aplikácií, ktoré interagujú s týmto portálom. Čo sa týka obmedzení slotov, už sme s Apple otvorili radar a čakáme na ich reakciu.

Užitočné odkazy

Najužitočnejší odkaz, podľa mňa, podľa ktorého som všetko zásadne robil. Poloužitočný dok od Apple tu.

Užite si to! Otázky, nápady, nápady a návrhy sú vítané v komentároch.

Zdroj: hab.com

Kúpte si spoľahlivý hosting pre stránky s DDoS ochranou, VPS VDS servery 🔥 Kúpte si spoľahlivý webhosting s ochranou DDoS, VPS VDS servery | ProHoster