Cum am cucerit noi cei de la Parallels Conectarea cu Apple

Cum am cucerit noi cei de la Parallels Conectarea cu Apple

Cred că mulți oameni au auzit deja Conectare cu Apple (SIWA pe scurt) după WWDC 2019. În acest articol vă voi spune cu ce capcane specifice am avut de înfruntat când am integrat acest lucru în portalul nostru de licențiere. Acest articol nu este chiar pentru cei care tocmai s-au hotărât să înțeleagă SIWA (pentru ei am oferit o serie de link-uri educaționale la sfârșitul textului). În acest material, cel mai probabil, mulți vor găsi răspunsuri la întrebările care pot apărea la integrarea noului serviciu Apple.

Apple nu permite redirecționări personalizate

De fapt, încă nu văd un răspuns la această întrebare pe forumurile pentru dezvoltatori. Ideea este aceasta: dacă doriți să utilizați API-ul SIWA JS, de exemplu. nu funcționați prin SDK-ul nativ din cauza lipsei unuia dintr-un motiv sau altul (nu macOS/iOS sau o versiune veche a acestor sisteme), atunci aveți nevoie de propriul portal public, altfel nu există altă cale. Pentru că pe portalul WWDR trebuie să vă înregistrați și să confirmați că sunteți proprietarul domeniului dvs. și numai pe acesta puteți atașa redirecționări acceptabile din punctul de vedere al Apple:

Cum am cucerit noi cei de la Parallels Conectarea cu Apple

Ce ar trebui să faceți dacă doriți să interceptați o redirecționare într-o aplicație? Am rezolvat această problemă extrem de simplu: am creat pe portalul nostru o listă de redirecționări acceptabile pentru aplicațiile noastre, pe care le comandă înainte de afișarea paginii de autorizare SIWA. Și pur și simplu redirecționăm de pe portal către aplicație cu datele primite de la Apple. Simplu și supărat.

Probleme cu e-mailul

Să vedem cum am rezolvat problemele cu e-mailul utilizatorului. În primul rând, nu există nicio API REST care să vă permită să obțineți aceste informații de la backend - doar clientul primește aceste date și le poate transmite împreună cu codul de autorizare.

În al doilea rând, informațiile despre numele utilizatorului și e-mail-ul sunt transmise o singură dată, la prima conectare a utilizatorului în aplicație prin Apple, unde utilizatorul selectează opțiunile pentru partajarea datelor sale personale.

În sine, aceste probleme nu sunt direct critice dacă conexiunea cu profilul social a fost creată cu succes pe portal - ID-ul utilizatorului este același și este legat de ID-ul echipei - adică. este același pentru toate aplicațiile integrate SIWA ale echipei tale. Dar dacă autentificarea s-a făcut prin Apple și mai departe a apărut o eroare și conexiunea pe portal nu a fost creată, atunci singura opțiune este trimiterea utilizatorului la appleid.apple.com, întreruperea conexiunii cu aplicația și încearcă din nou. De fapt, problema poate fi rezolvată prin scrierea articolului KB corespunzător și conectarea la acesta.

Următoarea problemă mai neplăcută este legată de faptul că Apple a venit cu un nou concept cu e-mail proxy. În cazul nostru, dacă utilizatorul a fost deja pe portalul de licențiere cu săpunul său real și, atunci când se conectează pentru prima dată prin Apple, selectează opțiunea de a ascunde e-mailul, se înregistrează un nou cont cu acest proxy e- mail, care, evident, nu conține nicio licență, ceea ce pune utilizatorul final în fundătură.

Soluția la această problemă este destul de simplă: deoarece. Dacă ID-ul utilizatorului este același în SIWA și nu depinde de opțiunile/aplicația selectată în care se face autentificarea, atunci pur și simplu folosim un script special pentru a vă permite să comutați această conexiune de la Apple la alt cont cu contul real al utilizatorului. săpun și, prin urmare, „restaurează-ți achizițiile” „ După această procedură, utilizatorul începe să acceseze un alt cont pe portal prin SIWA și totul funcționează corect pentru el.

Nu există nicio pictogramă de aplicație atunci când vă conectați prin portalul web

Pentru a rezolva o altă problemă, am apelat la reprezentanții Apple pentru clarificări și ne-am împărtășit cunoștințele:

https://forums.developer.apple.com/thread/123054
Cum am cucerit noi cei de la Parallels Conectarea cu Apple

Acestea. sensul este următorul: în fruntea grupului SIWA m.b. Este livrată doar aplicația macOS/iOS, în care sunt deja adăugate ID-urile de serviciu necesare ale portalurilor. În consecință, pentru ca pictograma aplicației principale să fie afișată. versiuni publicate în App Store cu suporturi care au fost verificate de Apple. Pictograma va fi luată de acolo.

În consecință, dacă aveți doar un portal și nicio aplicație din App Store, atunci nu veți avea o pictogramă frumoasă, dar puteți scăpa cu numele aplicației - dacă aplicația principală nu are media, această informație este preluat din ID-ul serviciului de descriere:
Cum am cucerit noi cei de la Parallels Conectarea cu Apple
Cum am cucerit noi cei de la Parallels Conectarea cu Apple

Numărul de elemente dintr-un grup SIWA este limitat la 5

Nu există o soluție la această problemă în acest moment decât să folosești mai multe grupuri, dacă îți lipsesc 6 identificatori: 1 aplicație cap și 5 dependente, atunci când încerci să-l înregistrezi pe următorul vei vedea acest mesaj:

Cum am cucerit noi cei de la Parallels Conectarea cu Apple

Am creat grupuri pentru portalul nostru de licențe și pentru fiecare dintre aplicațiile care interacționează cu acest portal. În ceea ce privește restricțiile de sloturi, am deschis deja un radar cu Apple și așteptăm răspunsul acestora.

Link-uri utile

Cel mai util legătură, dupa parerea mea, conform caruia am facut totul in esenta. Dock semi-util de la Apple aici.

Bucurați-vă! Întrebările, gândurile, ideile și sugestiile sunt binevenite în comentarii.

Sursa: www.habr.com

Adauga un comentariu