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

V skutočnosti stále nevidím odpoveď na túto otázku na fórach pre vývojárov. Ide o toto: ak chcete používať SIWA JS API, t.j. nefungujú cez natívnu súpravu SDK z dôvodu, že z jedného alebo druhého dôvodu chýba (nie macOS/iOS alebo stará verzia týchto systémov), potom potrebujete vlastný verejný portál, inak neexistuje žiadna iná cesta. Pretože na portáli WWDR sa musíte zaregistrovať a potvrdiť, že ste vlastníkom svojej domény a len naň môžete pripájať presmerovania, ktoré sú z pohľadu Apple prijateľné:

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

Tie. význam je nasledovný: na čele skupiny SIWA m.b. Dodáva sa len aplikácia macOS/iOS, do ktorej sú už pridané potrebné ID služby portálov. Podľa toho, aby sa zobrazila ikona hlavnej aplikácie. verzie publikované v App Store s médiami, ktoré boli overené spoločnosťou 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

Pridať komentár