Hur vi på Parallels erövrade Logga in med Apple

Hur vi på Parallels erövrade Logga in med Apple

Jag tror att många redan hört Logga in med Apple (förkortat SIWA) efter WWDC 2019. I den här artikeln kommer jag att berätta för dig vilka specifika fallgropar jag hade att möta när jag integrerade den här saken i vår licensportal. Den här artikeln är egentligen inte för dem som precis har bestämt sig för att förstå SIWA (för dem har jag tillhandahållit ett antal pedagogiska länkar i slutet av texten). I det här materialet kommer troligen många att hitta svar på frågor som kan uppstå när man integrerar den nya Apple-tjänsten.

Apple tillåter inte anpassade omdirigeringar

Jag ser faktiskt fortfarande inget svar på den här frågan på utvecklarforum. Poängen är denna: om du vill använda SIWA JS API, dvs. fungerar inte via den inbyggda SDK:n på grund av bristen på en av en eller annan anledning (inte macOS/iOS eller en gammal version av dessa system), då behöver du din egen offentliga portal, annars finns det inget annat sätt. För på WWDR-portalen måste du registrera dig och bekräfta att du är ägaren till din domän, och endast på den kan du bifoga omdirigeringar som är acceptabla ur Apples synvinkel:

Hur vi på Parallels erövrade Logga in med Apple

Vad ska du göra om du vill avlyssna en omdirigering i en applikation? Vi löste det här problemet extremt enkelt: vi skapade på vår portal en lista med acceptabla omdirigeringar för våra applikationer, som de beställer innan de visade SIWA-auktoriseringssidan. Och vi omdirigerar helt enkelt från portalen till applikationen med data som vi fått från Apple. Enkel och arg.

Problem med e-post

Låt oss titta på hur vi löste problem med användarens e-post. För det första finns det inget REST API som låter dig få denna information från backend - bara klienten tar emot denna data och kan överföra den tillsammans med auktoriseringskoden.

För det andra överförs information om användarens namn och e-post endast en gång, till användarens allra första inloggning i applikationen via Apple, där användaren väljer alternativ för att dela sina personuppgifter.

I och för sig är dessa problem inte direkt kritiska om kopplingen till den sociala profilen framgångsrikt skapades på portalen - användar-ID är detsamma och är kopplat till Team ID - d.v.s. det är samma för alla ditt teams SIWA-integrerade applikationer. Men om inloggningen gjordes via Apple, och längre fram på vägen ett fel inträffade och anslutningen på portalen inte skapades, är det enda alternativet att skicka användaren till appleid.apple.com, bryta anslutningen till applikationen och försök igen. Egentligen kan problemet lösas genom att skriva lämplig KB-artikel och länka till den.

Nästa mer obehagliga problem är relaterat till det faktum att Apple kom med ett nytt koncept med proxy-e-post. I vårt fall, om användaren redan har varit på licensportalen med sin riktiga tvål och, när han loggar in för första gången via Apple, väljer alternativet att dölja e-postmeddelandet, registreras ett nytt konto med denna proxy e- mail, som uppenbarligen inte innehåller några licenser, vilket försätter slutanvändaren i återvändsgränd.

Lösningen på detta problem är ganska enkel: därför att. Om användar-ID är detsamma i SIWA och inte beror på de valda alternativen/applikationen som inloggningen görs till, så använder vi helt enkelt ett speciellt skript för att låta dig byta denna anslutning från Apple till ett annat konto med användarens riktiga tvål och därigenom "återställ dina köp" " Efter denna procedur börjar användaren komma åt ett annat konto på portalen genom SIWA och allt fungerar korrekt för honom.

Det finns ingen applikationsikon när du loggar in via webbportalen

För att lösa ett annat problem vände vi oss till Apple-representanter för förtydligande och för att dela vår kunskap:

https://forums.developer.apple.com/thread/123054
Hur vi på Parallels erövrade Logga in med Apple

De där. innebörden är följande: i spetsen för SIWA-gruppen m.b. Endast macOS/iOS-applikationen levereras, i vilken de nödvändiga tjänste-ID:n för portalerna redan har lagts till. Följaktligen, för att ikonen för huvudapplikationen ska visas. versioner publicerade i App Store med media som har verifierats av Apple. Ikonen kommer att tas därifrån.

Följaktligen, om du bara har en portal och inga applikationer från App Store, kommer du inte att ha en vacker ikon, men du kan komma undan med namnet på applikationen - om huvudapplikationen inte har media är denna information hämtat från beskrivningstjänstens ID:
Hur vi på Parallels erövrade Logga in med Apple
Hur vi på Parallels erövrade Logga in med Apple

Antalet element i en SIWA-grupp är begränsat till 5

Det finns ingen lösning på detta problem för tillfället förutom att använda många grupper, om du saknar 6 identifierare: 1 huvudapplikation och 5 beroende, då när du försöker registrera nästa kommer du att se detta meddelande:

Hur vi på Parallels erövrade Logga in med Apple

Vi har skapat grupper för vår licensportal och för var och en av applikationerna som interagerar med denna portal. När det gäller slotbegränsningar har vi redan öppnat en radar med Apple och väntar på deras svar.

Användbara länkar

Mest användbar länk, enligt min mening, enligt vilken jag gjorde allt i huvudsak. Halvanvändbar docka från Apple här.

Njut av! Frågor, tankar, idéer och förslag är välkomna i kommentarerna.

Källa: will.com

Lägg en kommentar