Wie wir bei Parallels Sign In with Apple gemeistert haben

Wie wir bei Parallels Sign In with Apple gemeistert haben

Ich denke, dass viele nach WWDC 2019 bereits von Sign In with Apple (kurz SIWA) gehört haben. In diesem Beitrag werde ich über die konkreten Herausforderungen berichten, die wir bei der Integration dieses Features in unser Lizenzportal erlebt haben. Dieser Artikel ist nicht ganz für diejenigen geeignet, die gerade erst versuchen, sich mit SIWA vertraut zu machen (für sie habe ich im Textende einige informative 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 Umleitungen.

Tatsächlich sehe ich bis jetzt keine Antwort auf diese Frage in den Entwicklerforen. Die Sache ist folgende: Wenn Sie das SIWA JS API verwenden möchten, d.h. nicht über das native SDK arbeiten können aus bestimmten Gründen (nicht macOS/iOS oder eine veraltete Version dieser Systeme), benötigen Sie Ihr eigenes öffentliches Portal, sonst funktioniert es nicht. Denn im WWDR-Portal muss man registrieren und bestätigen, dass man der Eigentümer seiner Domain ist, und nur darauf können zulässige Umleitungen gemäß Apples Richtlinien angebracht werden:

Wie wir bei Parallels Sign In with Apple gemeistert haben

Was 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 angelegt, die vor der Anzeige der SIWA-Anmeldeseite angefordert werden. Anschließend redirecten wir einfach vom Portal zur Anwendung mit den von Apple erhaltenen Daten. Einfach und effizient.

Probleme mit E-Mail

Lassen Sie uns ansehen, 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 empfängt diese Daten und kann sie zusammen mit dem Autorisierungscode übermitteln.

Zweitens wird die Information über den Namen und die E-Mail des Benutzers nur einmal übermittelt, beim ersten Login des Benutzers in die Anwendung über Apple, wo der Benutzer die Optionen zur Freigabe seiner persönlichen 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 ist dieselbe und an die Team-ID gebunden – das heißt, sie ist für alle Anwendungen Ihres Teams, die mit SIWA integriert sind, gleich. Wenn jedoch die Anmeldung über Apple erfolgt ist und es auf dem Weg zu einem Fehler kam und die Verbindung auf dem Portal nicht hergestellt wurde, bleibt nur die Möglichkeit, den Benutzer zu appleid.apple.com zu schicken, die Verbindung zur Anwendung zu trennen und es erneut zu versuchen. Tatsächlich lässt sich das Problem durch das Verfassen eines entsprechenden KB-Artikels und einen Link darauf lösen.

Ein weiteres unangenehmes Problem besteht darin, 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 wä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 sowohl in SIWA als auch in der gewählten Option/App, über die der Anmeldevorgang erfolgt, identisch ist und nicht von der getroffenen Auswahl abhängt, ermöglichen wir einfach durch ein spezielles Skript, diese Verknüpfung von Apple zu einem anderen Konto mit der echten E-Mail des Benutzers zu wechseln und damit "seine Käufe wiederherzustellen". Nach diesem Verfahren gelangt der Benutzer über SIWA in ein anderes Konto im Portal, und alles funktioniert richtig.

Bei der Anmeldung über das Webportal gibt es kein App-Symbol.

Zur Lösung eines anderen Problems haben wir die Vertreter von Apple um Klarstellung gebeten und teilen das erhaltene Wissen:

https://forums.developer.apple.com/thread/123054
Wie wir bei Parallels Sign In with Apple gemeistert haben

Das heißt, der Sinn ist folgender: An der Spitze der SIWA-Gruppe kann nur eine macOS/iOS-App stehen, in die die erforderlichen Service-IDs der Portale aufgenommen werden. Dementsprechend muss für das Hauptanwendungsicon eine im App Store veröffentlichte Version mit Medien, die die Überprüfung von Apple bestanden hat, verfügbar sein. Das Icon wird von dort übernommen.

Dementsprechend, wenn Sie nur ein Portal haben und keine Apps aus dem App Store, wird es kein schönes Icon geben. Aber mit dem Namen der App kann man sich behelfen — in Abwesenheit von Medien bei der Hauptanwendung wird diese Info aus der Beschreibung der Service-ID entnommen:
Wie wir bei Parallels Sign In with Apple gemeistert haben
Wie wir bei Parallels Sign In with Apple gemeistert haben

Die Anzahl der Elemente in der SIWA-Gruppe ist auf 5 beschränkt.

Für dieses Problem gibt es derzeit keine Lösung, außer mehrere Gruppen zu verwenden. Wenn Ihnen 6 Identifikatoren fehlen: 1 Hauptanwendung und 5 abhängige, werden Sie bei dem Versuch, die nächste zu registrieren, folgende Nachricht sehen:

Wie wir bei Parallels Sign In with Apple gemeistert haben

Wir haben Gruppen für unser Lizenzportal und für jede der Anwendungen erstellt, die mit diesem Portal arbeiten. Bezüglich der Slot-Beschränkung haben wir bereits ein Radar bei Apple eingestellt und warten auf deren Antwort.

Nützliche Links

Am nützlichsten Link, meiner Meinung nach, über den ich im Grunde alles gemacht habe. Halb nützliche Dokumentation von Apple. hier.

Viel Spaß! Fragen, Gedanken, Ideen und Vorschläge sind in den Kommentaren willkommen.

Quelle: habr.com

Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server 🔥 Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server | ProHoster