Hvordan vi i Parallels erobret Logg på med Apple

Hvordan vi i Parallels erobret Logg på med Apple

Jeg tror mange allerede har hørt Sign In with Apple (forkortet SIWA) etter WWDC 2019. I denne artikkelen vil jeg fortelle deg hvilke spesifikke fallgruver jeg måtte møte da jeg integrerte denne tingen i lisensieringsportalen vår. Denne artikkelen er egentlig ikke for de som nettopp har bestemt seg for å forstå SIWA (for dem har jeg gitt en rekke pedagogiske lenker på slutten av teksten). I dette materialet vil mest sannsynlig mange finne svar på spørsmål som kan oppstå ved integrering av den nye Apple-tjenesten.

Apple tillater ikke egendefinerte omdirigeringer

Faktisk ser jeg fortsatt ikke svar på dette spørsmålet på utviklerfora. Poenget er dette: hvis du vil bruke SIWA JS API, dvs. ikke arbeid gjennom den opprinnelige SDK på grunn av mangel på en av en eller annen grunn (ikke macOS/iOS eller en gammel versjon av disse systemene), da trenger du din egen offentlige portal, ellers er det ingen annen måte. For på WWDR-portalen må du registrere deg og bekrefte at du er eieren av domenet ditt, og bare på den kan du legge ved omdirigeringer som er akseptable fra Apples synspunkt:

Hvordan vi i Parallels erobret Logg på med Apple

Hva bør du gjøre hvis du vil avskjære en omdirigering i en applikasjon? Vi løste dette problemet ekstremt enkelt: vi opprettet på portalen vår en liste over akseptable omdirigeringer for applikasjonene våre, som de bestiller før de viser SIWA-autorisasjonssiden. Og vi omdirigerer ganske enkelt fra portalen til applikasjonen med dataene mottatt fra Apple. Enkel og sint.

Problemer med e-post

La oss se på hvordan vi løste problemer med brukerens e-post. For det første er det ingen REST API som lar deg få denne informasjonen fra backend - bare klienten mottar disse dataene og kan overføre dem sammen med autorisasjonskoden.

For det andre overføres informasjon om brukerens navn og e-post kun én gang, til brukerens aller første pålogging til applikasjonen gjennom Apple, hvor brukeren velger alternativer for å dele sine personlige data.

I seg selv er ikke disse problemene direkte kritiske dersom forbindelsen med den sosiale profilen ble opprettet på portalen – bruker-IDen er den samme og er knyttet til Team-ID-en – dvs. det er det samme for alle teamets SIWA-integrerte applikasjoner. Men hvis påloggingen ble gjort gjennom Apple, og lenger langs stien oppsto en feil og forbindelsen på portalen ikke ble opprettet, så er det eneste alternativet å sende brukeren til appleid.apple.com, bryte forbindelsen med applikasjonen og Prøv igjen. Faktisk kan problemet løses ved å skrive den riktige KB-artikkelen og lenke til den.

Det neste mer ubehagelige problemet er knyttet til det faktum at Apple kom opp med et nytt konsept med proxy-e-post. I vårt tilfelle, hvis brukeren allerede har vært på lisensieringsportalen med sin ekte såpe og, når han logger på for første gang gjennom Apple, velger alternativet for å skjule e-posten, registreres en ny konto med denne proxy-e-posten. mail, som åpenbart ikke inneholder noen lisenser, noe som setter sluttbrukeren i blindvei.

Løsningen på dette problemet er ganske enkel: fordi. Hvis bruker-IDen er den samme i SIWA og ikke er avhengig av de valgte alternativene/applikasjonen som påloggingen gjøres til, bruker vi ganske enkelt et spesielt skript for å tillate deg å bytte denne tilkoblingen fra Apple til en annen konto med brukerens ekte såpe og derved "gjenopprette kjøpene dine" " Etter denne prosedyren begynner brukeren å få tilgang til en annen konto på portalen gjennom SIWA, og alt fungerer som det skal for ham.

Det er ikke noe applikasjonsikon når du logger på via nettportalen

For å løse et annet problem, henvendte vi oss til Apple-representanter for å få avklaring og dele vår kunnskap:

https://forums.developer.apple.com/thread/123054
Hvordan vi i Parallels erobret Logg på med Apple

De. meningen er som følger: i spissen for SIWA-gruppen m.b. Bare macOS/iOS-applikasjonen leveres, der de nødvendige tjeneste-IDene til portalene allerede er lagt til. Følgelig, for at ikonet for hovedapplikasjonen skal vises. versjoner publisert i App Store med medier som er verifisert av Apple. Ikonet vil bli hentet derfra.

Følgelig, hvis du bare har en portal og ingen applikasjoner fra App Store, vil du ikke ha et vakkert ikon, men du kan komme unna med navnet på applikasjonen - hvis hovedapplikasjonen ikke har media, er denne informasjonen hentet fra beskrivelsestjeneste-IDen:
Hvordan vi i Parallels erobret Logg på med Apple
Hvordan vi i Parallels erobret Logg på med Apple

Antall elementer i en SIWA-gruppe er begrenset til 5

Det er ingen løsning på dette problemet for øyeblikket bortsett fra å bruke mange grupper, hvis du mangler 6 identifikatorer: 1 hovedapplikasjon og 5 avhengige, vil du se denne meldingen når du prøver å registrere den neste:

Hvordan vi i Parallels erobret Logg på med Apple

Vi har opprettet grupper for lisensportalen vår og for hver av applikasjonene som samhandler med denne portalen. Når det gjelder sporrestriksjoner, har vi allerede åpnet en radar med Apple og venter på svar.

Nyttige lenker

Mest brukbart lenke, etter min mening, ifølge hvilken jeg gjorde alt i hovedsak. Halvnyttig dock fra Apple her.

Nyt! Spørsmål, tanker, ideer og forslag er velkommen i kommentarene.

Kilde: www.habr.com

Legg til en kommentar