Hvordan vi erobrede Log ind med Apple på Parallels

Hvordan vi erobrede Log ind med Apple på Parallels

Jeg tror, ​​at mange mennesker allerede har hørt Log ind med Apple (forkortet SIWA) efter WWDC 2019. I denne artikel vil jeg fortælle dig, hvilke specifikke faldgruber jeg måtte stå over for, da jeg integrerede denne ting i vores licensportal. Denne artikel er egentlig ikke for dem, der lige har besluttet at forstå SIWA (til dem har jeg givet en række pædagogiske links i slutningen af ​​teksten). I dette materiale vil mange sandsynligvis finde svar på spørgsmål, der kan opstå, når de integrerer den nye Apple-tjeneste.

Apple tillader ikke tilpassede omdirigeringer

Faktisk kan jeg stadig ikke se et svar på dette spørgsmål på udviklerfora. Pointen er denne: Hvis du vil bruge SIWA JS API, dvs. ikke arbejde gennem den oprindelige SDK på grund af manglen på en af ​​den ene eller anden grund (ikke macOS/iOS eller en gammel version af disse systemer), så har du brug for din egen offentlige portal, ellers er der ingen anden måde. For på WWDR-portalen skal du registrere og bekræfte, at du er ejeren af ​​dit domæne, og kun på det kan du vedhæfte omdirigeringer, der er acceptable fra Apples synspunkt:

Hvordan vi erobrede Log ind med Apple på Parallels

Hvad skal du gøre, hvis du vil opsnappe en omdirigering i en applikation? Vi løste dette problem ekstremt enkelt: vi oprettede på vores portal en liste over acceptable omdirigeringer til vores applikationer, som de bestiller, før de viser SIWA-autorisationssiden. Og vi omdirigerer simpelthen fra portalen til applikationen med data modtaget fra Apple. Enkel og vred.

Problemer med e-mail

Lad os se på, hvordan vi løste problemer med brugerens e-mail. For det første er der ingen REST API, der giver dig mulighed for at få disse oplysninger fra backend - kun klienten modtager disse data og kan overføre dem sammen med autorisationskoden.

For det andet overføres oplysninger om brugerens navn og e-mail kun én gang, til brugerens allerførste login ind i applikationen gennem Apple, hvor brugeren vælger muligheder for at dele sine personlige data.

I sig selv er disse problemer ikke direkte kritiske, hvis forbindelsen med den sociale profil lykkedes at skabe på portalen - bruger-id'et er det samme og er knyttet til Team-id'et - dvs. det er det samme for alle dit teams SIWA-integrerede applikationer. Men hvis login blev foretaget gennem Apple, og længere henne ad stien opstod en fejl, og forbindelsen på portalen ikke blev oprettet, så er den eneste mulighed at sende brugeren til appleid.apple.com, afbryde forbindelsen med applikationen og Prøv igen. Faktisk kan problemet løses ved at skrive den relevante KB-artikel og linke til den.

Det næste mere ubehagelige problem er relateret til, at Apple kom med et nyt koncept med proxy-e-mail. I vores tilfælde, hvis brugeren allerede har været på licensportalen med sin rigtige sæbe og, når han logger ind for første gang gennem Apple, vælger muligheden for at skjule e-mailen, bliver en ny konto registreret med denne proxy e- mail, som åbenbart ikke indeholder nogen licenser, hvilket bringer slutbrugeren i en blindgyde.

Løsningen på dette problem er ret simpel: fordi. Hvis bruger-id'et er det samme i SIWA og ikke afhænger af de valgte muligheder/applikationer, som logget ind i, så bruger vi blot et særligt script til at give dig mulighed for at skifte denne forbindelse fra Apple til en anden konto med brugerens rigtige sæbe og derved "gendan dine køb" " Efter denne procedure begynder brugeren at få adgang til en anden konto på portalen gennem SIWA, og alt fungerer korrekt for ham.

Der er intet applikationsikon, når du logger på via webportalen

For at løse et andet problem henvendte vi os til Apple-repræsentanter for at få afklaring og dele vores viden:

https://forums.developer.apple.com/thread/123054
Hvordan vi erobrede Log ind med Apple på Parallels

De der. betydningen er som følger: i spidsen for SIWA-gruppen m.b. Kun macOS/iOS-applikationen leveres, hvori de nødvendige service-id'er for portalerne allerede er tilføjet. Derfor, for at ikonet for hovedapplikationen skal vises. versioner offentliggjort i App Store med medier, der er blevet bekræftet af Apple. Ikonet tages derfra.

Derfor, hvis du kun har en portal og ingen applikationer fra App Store, så vil du ikke have et smukt ikon, men du kan slippe afsted med navnet på applikationen - hvis hovedapplikationen ikke har medier, er denne information taget fra beskrivelsestjeneste-id'et:
Hvordan vi erobrede Log ind med Apple på Parallels
Hvordan vi erobrede Log ind med Apple på Parallels

Antallet af elementer i en SIWA-gruppe er begrænset til 5

Der er ingen løsning på dette problem i øjeblikket, bortset fra at bruge mange grupper, hvis du mangler 6 identifikatorer: 1 hovedapplikation og 5 afhængige, så når du prøver at registrere den næste, vil du se denne besked:

Hvordan vi erobrede Log ind med Apple på Parallels

Vi har oprettet grupper til vores licensportal og for hver af de applikationer, der interagerer med denne portal. Med hensyn til slot begrænsninger har vi allerede åbnet en radar med Apple og afventer deres svar.

Nyttige links

Mest nyttige link, efter min mening, ifølge hvilken jeg gjorde alt i det væsentlige. Halvbrugelig dock fra Apple her.

God fornøjelse! Spørgsmål, tanker, ideer og forslag er velkomne i kommentarerne.

Kilde: www.habr.com

Tilføj en kommentar