
Ich denke, viele haben nach WWDC 2019 bereits von "Sign In with Apple" (kurz SIWA) gehört. In diesem Artikel werde ich erlĂ€utern, mit welchen konkreten HĂŒrden wir bei der Integration dieses Features in unser Lizenzportal konfrontiert wurden. Dieser Artikel richtet sich nicht unbedingt an diejenigen, die sich nur mit SIWA vertraut machen möchten (fĂŒr sie habe ich am Ende einige einfĂŒhrende Links bereitgestellt). In diesem Material werden wahrscheinlich viele Antworten auf Fragen gefunden, die bei der Integration des neuen Apple-Dienstes auftreten können.
Apple erlaubt keine benutzerdefinierten Weiterleitungen.
Ehrlich gesagt, eine Antwort auf diese Frage habe ich bislang nicht auf den Entwicklerforen gefunden. Die Sache ist die folgende: Wenn Sie die SIWA JS API nutzen möchten, d.h. nicht ĂŒber das native SDK arbeiten können, aus den einen oder anderen GrĂŒnden (nicht macOS/iOS oder Ă€ltere Versionen eben dieser Systeme), benötigen Sie ein eigenes öffentliches Portal, anders ist es nicht möglich. Denn im WWDR-Portal mĂŒssen Sie Ihren Domainbesitz registrieren und bestĂ€tigen, und nur auf diese kann Apple-konforme Weiterleitungen angehĂ€ngt werden:

Was ist zu tun, wenn man den Redirect in der Anwendung abfangen möchte? Wir haben dieses Problem ganz einfach gelöst: Wir haben auf unserem Portal eine Liste zulĂ€ssiger Redirects fĂŒr unsere Anwendungen eingefĂŒhrt, die vor der Anzeige der SIWA-Autorisierungsseite abgerufen werden. Und wir fĂŒhren einfach eine Umleitung vom Portal zur Anwendung mit den von Apple erhaltenen Daten durch. Einfach und effektiv.
Probleme mit E-Mail
Lassen Sie uns anschauen, wie wir die Probleme mit der Benutzer-E-Mail gelöst haben. Erstens gibt es keine REST API, die es ermöglicht, diese Informationen vom Backend zu erhalten - nur der Client erhĂ€lt diese Daten und kann sie zusammen mit dem Autorisierungscode ĂŒbermitteln.
Zweitens werden die Informationen ĂŒber den Namen und die E-Mail des Benutzers nur einmal ĂŒbertragen, beim ersten Login des Benutzers in die Anwendung ĂŒber Apple, wo der Benutzer die Optionen zum Teilen seiner personenbezogenen Daten auswĂ€hlt.
An sich sind diese Probleme nicht direkt kritisch, wenn die Verbindung zum sozialen Profil erfolgreich auf dem Portal hergestellt wurde - die Benutzer-ID bleibt gleich und ist an die Team-ID gebunden - das heiĂt, sie ist fĂŒr alle Anwendungen Ihres Teams, die mit SIWA integriert sind, dieselbe. Sollte jedoch die Anmeldung ĂŒber Apple erfolgt sein und auf dem Weg ein Fehler aufgetreten sein, sodass die Verbindung auf dem Portal nicht hergestellt wurde, bleibt nur die Option, den Benutzer auf appleid.apple.com zu schicken, die Verbindung zur App zu trennen und es erneut zu versuchen. Eigentlich lĂ€sst sich das Problem durch das Schreiben eines entsprechenden KB-Artikels und einem Link zu diesem lösen.
Das nĂ€chste, unangenehmere Problem hĂ€ngt damit zusammen, dass Apple ein neues Konzept mit Proxy-E-Mail eingefĂŒhrt hat. In unserem Fall, wenn der Benutzer bereits mit seiner echten E-Mail auf dem Lizenzportal war und bei der ersten Anmeldung ĂŒber Apple die Option auswĂ€hlt, die E-Mail zu verbergen, wird ein neuer Account mit dieser Proxy-E-Mail registriert, der offensichtlich keine Lizenzen enthĂ€lt, was den Endbenutzer verwirrt.
Die Lösung dieses Problems ist recht einfach: Da die Benutzer-ID die gleiche ist in SIWA und unabhĂ€ngig von den gewĂ€hlten Optionen / Anwendungen, in die man sich einloggt, erlauben wir einfach mit einem speziellen Skript, diese Verbindung von Apple auf einen anderen Account mit der echten E-Mail des Benutzers umzuschalten und so die âKĂ€ufe wiederherzustellenâ. Nach diesem Verfahren kann der Benutzer ĂŒber SIWA in einen anderen Account auf dem Portal gelangen und alles funktioniert korrekt.
Bei der Anmeldung ĂŒber das Webportal gibt es kein Anwendungssymbol.
Um ein anderes Problem zu lösen, haben wir bei den Vertretern von Apple nachgefragt und teilen das gewonnene Wissen:

Das bedeutet Folgendes: An der Spitze der SIWA-Gruppe muss eine macOS / iOS-Anwendung stehen, in die die benötigten Service-IDs der Portale integriert werden. Dementsprechend muss fĂŒr das Hauptanwendungssymbol eine im App Store veröffentlichte Version mit Medien, die von Apple ĂŒberprĂŒft wurden, zur VerfĂŒgung stehen. Das Symbol wird von dort ĂŒbernommen.
Wenn Sie also nur ein Portal haben und keine App im App Store, wird es kein schönes Symbol geben, aber mit dem Anwendungsnamen kann man sich behelfen â bei fehlenden Medien im Hauptanwendungsprofil stammt diese Info aus der Beschreibung der Service-ID:


Die Anzahl der Elemente in der SIWA-Gruppe ist auf 5 begrenzt.
FĂŒr dieses Problem gibt es momentan keine Lösung, auĂer mehrere Gruppen zu verwenden. Wenn Ihnen 6 Identifizierer fehlen: 1 Hauptanwendung und 5 abhĂ€ngige, werden Sie bei dem Versuch, die nĂ€chste zu registrieren, folgende Nachricht sehen:

Wir haben Gruppen fĂŒr unser Lizenzportal und fĂŒr jede der Anwendungen, die mit diesem Portal arbeiten, erstellt. BezĂŒglich der Slot-BeschrĂ€nkung haben wir bereits einen Radar bei Apple eröffnet und warten auf deren Antwort.
NĂŒtzliche Links
Am nĂŒtzlichsten , meiner Meinung nach, ĂŒber den ich alles im Grunde gemacht habe. Halb nĂŒtzliche Dokumentation von Apple .
Viel SpaĂ! Fragen, Gedanken, Ideen und VorschlĂ€ge sind in den Kommentaren willkommen.
Quelle: habr.com
