Wie wir „Sign In with Apple“ bei Parallels erobert haben

Wie wir „Sign In with Apple“ bei Parallels erobert haben

Ich denke, viele Leute haben bereits nach der WWDC 2019 von Sign In with Apple (kurz SIWA) gehört. In diesem Artikel erzähle ich Ihnen, mit welchen konkreten Fallstricken ich bei der Integration dieses Dings in unser Lizenzportal konfrontiert war. Dieser Artikel ist nicht wirklich für diejenigen gedacht, die sich gerade erst entschieden haben, SIWA zu verstehen (für sie habe ich am Ende des Textes eine Reihe von Bildungslinks bereitgestellt). In diesem Material werden höchstwahrscheinlich viele Antworten auf Fragen finden, die bei der Integration des neuen Apple-Dienstes auftreten können.

Apple erlaubt keine benutzerdefinierten Weiterleitungen

Tatsächlich finde ich in Entwicklerforen immer noch keine Antwort auf diese Frage. Der Punkt ist folgender: Wenn Sie die SIWA JS API verwenden möchten, d.h. Wenn Sie nicht über das native SDK arbeiten, da eines aus dem einen oder anderen Grund fehlt (nicht macOS/iOS oder eine alte Version dieser Systeme), dann benötigen Sie ein eigenes öffentliches Portal, sonst gibt es keine andere Möglichkeit. Denn auf dem WWDR-Portal müssen Sie sich registrieren und bestätigen, dass Sie der Inhaber Ihrer Domain sind, und nur dort können Sie aus Apple-Sicht akzeptable Weiterleitungen anhängen:

Wie wir „Sign In with Apple“ bei Parallels erobert haben

Was sollten Sie tun, wenn Sie eine Weiterleitung in einer Anwendung abfangen möchten? Wir haben dieses Problem ganz einfach gelöst: Wir haben auf unserem Portal eine Liste akzeptabler Weiterleitungen für unsere Anwendungen erstellt, die sie bestellen, bevor die SIWA-Autorisierungsseite angezeigt wird. Und wir leiten einfach vom Portal zur Anwendung mit den von Apple erhaltenen Daten weiter. Einfach und wütend.

Probleme mit E-Mail

Schauen wir uns an, wie wir Probleme mit der E-Mail des Benutzers gelöst haben. Erstens gibt es keine REST-API, die es Ihnen 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 Informationen über den Namen und die E-Mail-Adresse des Benutzers nur einmal übermittelt, und zwar bei der allerersten Anmeldung des Benutzers bei der Anwendung über Apple, bei der der Benutzer Optionen für die Weitergabe seiner persönlichen Daten auswählt.

An sich sind diese Probleme nicht direkt kritisch, wenn die Verbindung mit dem sozialen Profil erfolgreich auf dem Portal erstellt wurde – die Benutzer-ID ist dieselbe und mit der Team-ID verknüpft – d. h. Dies gilt für alle SIWA-integrierten Anwendungen Ihres Teams. Wenn die Anmeldung jedoch über Apple erfolgte und im weiteren Verlauf ein Fehler aufgetreten ist und die Verbindung zum Portal nicht hergestellt wurde, besteht die einzige Möglichkeit darin, den Benutzer an appleid.apple.com weiterzuleiten, die Verbindung mit der Anwendung zu unterbrechen und versuchen Sie es erneut. Tatsächlich kann das Problem gelöst werden, indem man den entsprechenden KB-Artikel schreibt und darauf verlinkt.

Das nächste unangenehmere Problem hängt damit zusammen, dass Apple mit Proxy-E-Mail ein neues Konzept entwickelt hat. In unserem Fall, wenn der Benutzer bereits mit seiner echten Soap im Lizenzportal war und beim ersten Anmelden über Apple die Option zum Ausblenden der E-Mail auswählt, wird ein neues Konto bei dieser Proxy-E-Mail registriert. Mail, die offensichtlich keine Lizenzen enthält, was den Endbenutzer in eine Sackgasse bringt.

Die Lösung für dieses Problem ist ganz einfach: weil. Wenn die Benutzer-ID in SIWA dieselbe ist und nicht von den ausgewählten Optionen/Anwendungen abhängt, in denen die Anmeldung erfolgt, verwenden wir einfach ein spezielles Skript, um Ihnen die Umstellung dieser Verbindung von Apple auf ein anderes Konto mit der Echtheit des Benutzers zu ermöglichen Seife und dadurch „Ihre Einkäufe wiederherstellen“ Nach diesem Vorgang beginnt der Benutzer, über SIWA auf ein anderes Konto im Portal zuzugreifen, und bei ihm funktioniert alles ordnungsgemäß.

Bei der Anmeldung über das Webportal wird kein Anwendungssymbol angezeigt

Um ein weiteres Problem zu lösen, haben wir uns zur Klärung an Apple-Vertreter gewandt und unser Wissen geteilt:

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

Diese. die Bedeutung ist wie folgt: an der Spitze der SIWA-Gruppe m.b. Ausgeliefert wird lediglich die macOS/iOS-Anwendung, in der die notwendigen Service-IDs der Portale bereits eingetragen sind. Dementsprechend wird das Icon der Hauptanwendung angezeigt. Im App Store veröffentlichte Versionen mit von Apple verifizierten Medien. Das Symbol wird von dort übernommen.

Wenn Sie dementsprechend nur ein Portal und keine Anwendungen aus dem App Store haben, dann haben Sie kein schönes Symbol, aber Sie können mit dem Namen der Anwendung davonkommen – wenn die Hauptanwendung keine Medien hat, sind es diese Informationen entnommen aus der Beschreibungsdienst-ID:
Wie wir „Sign In with Apple“ bei Parallels erobert haben
Wie wir „Sign In with Apple“ bei Parallels erobert haben

Die Anzahl der Elemente in einer SIWA-Gruppe ist auf 5 begrenzt

Derzeit gibt es keine Lösung für dieses Problem, außer viele Gruppen zu verwenden. Wenn Ihnen 6 Identifikatoren fehlen: 1 Hauptanwendung und 5 abhängige, dann wird beim Versuch, den nächsten zu registrieren, diese Meldung angezeigt:

Wie wir „Sign In with Apple“ bei Parallels erobert haben

Wir haben Gruppen für unser Lizenzportal und für jede der Anwendungen erstellt, die mit diesem Portal interagieren. Bezüglich der Slot-Beschränkungen haben wir bereits einen Radar mit Apple eröffnet und warten auf deren Antwort.

Nützliche Links

Am besten brauchbar Verknüpfung, meiner Meinung nach, wonach ich im Wesentlichen alles getan habe. Halbnützliches Dock von Apple hier.

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

Source: habr.com

Kommentar hinzufügen