
Jag tror mÄnga har hört talas om Sign In with Apple (kort SIWA) efter WWDC 2019. I denna artikel kommer jag att berÀtta om de specifika fallgropar som vi stött pÄ nÀr vi integrerade denna funktion i vÄr licensportal. Denna artikel Àr kanske inte helt för dem som just har bestÀmt sig för att förstÄ SIWA (för dem har jag gett en serie informativa lÀnkar i slutet av texten). I denna text kommer mÄnga troligen att hitta svar pÄ frÄgor som kan uppstÄ vid integrationen av Apples nya tjÀnst.
Apple tillÄter inga anpassade omdirigeringar.
Egentligen ser jag fortfarande inget svar pÄ denna frÄga pÄ utvecklarforum. Saken Àr följande: om du vill anvÀnda SIWA JS API, det vill sÀga inte arbeta genom det inhemska SDK:t pÄ grund av bristen pÄ det av olika skÀl (inte macOS/iOS eller gammal version av dessa system), sÄ behöver du en offentlig portal, annars fungerar det inte. Eftersom du mÄste registrera och bekrÀfta att du Àger din domÀn pÄ WWDR-portalen, och endast pÄ den kan du sÀtta tillÄtna omdirigeringar enligt Apples riktlinjer.

Vad ska man göra om man vill fÄnga omdirigeringen i applikationen? Vi löste detta problem pÄ ett mycket enkelt sÀtt: vi skapade en lista över tillÄtna omdirigeringar för vÄra applikationer pÄ vÄr portal, som de bestÀller före visningen av SIWA-inloggningssidan. Och vi gör helt enkelt en omdirigering frÄn portalen till applikationen med de uppgifter som vi fÄtt frÄn Apple. Enkelt och effektivt.
Problem med e-post
LĂ„t oss titta pĂ„ hur vi löste problemen med anvĂ€ndarens e-post. Först och frĂ€mst finns det ingen REST API som gör det möjligt att fĂ„ denna information frĂ„n backend â bara klienten fĂ„r dessa uppgifter och kan vidarebefordra dem tillsammans med autentiseringskoden.
För det andra överförs information om namnet och anvÀndarens e-post endast en gÄng, vid den första inloggningen av anvÀndaren i applikationen via Apple, dÀr anvÀndaren vÀljer alternativ för att dela sina personuppgifter.
SjÀlva dessa problem Àr inte direkt kritiska om kopplingen till den sociala profilen har skapats framgÄngsrikt pÄ portalen - anvÀndarens identifierare Àr densamma och kopplad till Team ID - det vill sÀga den Àr densamma för alla applikationer inom ditt team som integrerats med SIWA. Men om inloggningen gjordes via Apple och det sedan uppstod ett fel lÀngs vÀgen och kopplingen pÄ portalen inte skapades, sÄ Àr den enda möjligheten att skicka anvÀndaren till appleid.apple.com, bryta kopplingen med applikationen och försöka igen. Egentligen löses problemet genom att skriva en lÀmplig KB-artikel och lÀnka till den.
Ett annat mer obehagligt problem Àr att Apple har infört ett nytt koncept med proxy-e-post. I vÄrt fall, om anvÀndaren redan har varit pÄ licensportalen med sin riktiga e-post och vid första inloggningen via Apple vÀljer alternativet att dölja e-post, registreras ett nytt konto med denna proxy-e-post, dÀr det uppenbarligen inte finns nÄgra licenser, vilket sÀtter slutanvÀndaren i en knipa.
Lösningen pÄ detta problem Àr ganska enkel: eftersom anvÀndarens identifierare Àr densamma i SIWA och inte beror pÄ de valda alternativen/applikationen dÀr inloggningen görs, sÄ tillÄter vi helt enkelt med hjÀlp av ett speciellt skript att vÀxla denna koppling med Apple till ett annat konto med anvÀndarens verkliga e-post och dÀrmed "ÄterstÀlla sina inköp". Efter denna procedur börjar anvÀndaren via SIWA att komma in i ett annat konto pÄ portalen och allt fungerar korrekt.
Vid inloggning via webportalen finns det ingen applikationsikon.
För att lösa ett annat problem har vi kontaktat representanter frÄn Apple och delar med oss av den kunskap vi fÄtt:

Det vill sÀga, syftet Àr följande: i huvudet pÄ SIWA-gruppen kan bara macOS/iOS-applikationen placeras, dit de nödvÀndiga service-ID:erna frÄn portalerna redan lÀggs till. DÀrmed, för att ikonen ska visas hos huvudsökningen, mÄste det finnas publicerade versioner i App Store med media som har genomgÄtt granskning av Apple. Ikonen kommer att hÀmtas dÀrifrÄn.
Om ni sÄledes bara har en portal och ingen applikation frÄn App Store, sÄ kommer det inte att finnas nÄgon fin ikon, men med applikationens namn kan man klara sig - i avsaknad av media hos huvudsökningen tas denna information frÄn beskrivningen av service-ID:


Antalet element i SIWA-gruppen Àr begrÀnsat till 5.
Det finns för nÀrvarande ingen lösning pÄ detta problem, förutom att anvÀnda flera grupper. Om du saknar 6 identifierare: 1 huvudapp och 5 beroenden, kommer du att se ett sÄdant meddelande nÀr du försöker registrera den nÀsta.

Vi har skapat grupper för vÄr licensportal och för varje app som arbetar med denna portal. Vi har redan öppnat ett Àrende hos Apple angÄende begrÀnsningen av platser och invÀntar deras svar.
Nyttiga lÀnkar
Det mest anvÀndbara , enligt min Äsikt, som jag baserade allt pÄ. Halvnyttig dokumentation frÄn Apple. .
Njut! FrÄgor, tankar, idéer och förslag tas emot i kommentarerna.
KĂ€lla: habr.com
