Die Probleme 1 und 2 sind auf eine bewusste Implementierungsentscheidung von Apple zurückzuführen. Es handelt sich also nicht wirklich um einen technischen Vorfall, und wir können sie umgehen. Problem 3 liegt beim omniauth-apple-Gem, sodass wir es beheben können.
Was wir von Apple benötigen, ist die Einbeziehung von Name und E-Mail-Adresse in nachfolgende Authentifizierungsabläufe. Leider haben sie das Verhalten bestätigt und angegeben, dass dies beabsichtigt ist: Cannot get email & name while scop… | Apple Developer Forums
Dies verhält sich korrekt. Benutzerinformationen werden nur beim ersten Benutzer-Login über ASAuthorizationAppleIDCredential gesendet. Bei nachfolgenden Anmeldungen in Ihrer App mit „Anmelden mit Apple
Meiner Meinung nach wäre es dennoch sinnvoll, sich mit dem Apple DTS in Verbindung zu setzen, um zu erfahren, welche Workarounds sie empfehlen, und ihnen zudem das Feedback zu geben, dass dies Probleme verursacht. (Leider bin ich selbst nicht ausreichend mit diesem Thema vertraut, um dieses Gespräch mit ihnen zu führen.)
[quote=“david, Beitrag: 42, Thema: 122790”]
Mich würde jedoch interessieren, ob jemand andere Websites gesehen hat, die „Anmelden mit Apple
Sie verwenden möglicherweise jedoch eine andere API. Es gibt ein JS-Skript, das Sie hinzufügen können, aber ich vermute, dass dies nicht mit dem allgemeineren OAuth-System von Discourse integriert werden kann:
Ich glaube, sie haben es etwas verfeinert, aber ich kann keine spezifischen Änderungen leicht finden.
Ich denke, dass E-Mails nur einmal zu erhalten, kein großes Problem ist? Ich schätze, wir müssen testen, was passiert, wenn du deine E-Mail-Adresse in deiner Apple-ID änderst?
Ich schätze, wir sollten das noch einmal überprüfen, aber ehrlich gesagt sehe ich das nicht als ein riesiges Drama, das uns von der Umsetzung abhält.
Der Anmeldevorgang auf iDevices ist mit der Anmeldung über Apple einfach fantastisch, und dazu erhältst du eine Zwei-Faktor-Authentifizierung mit Face ID.
werde ich zu meiner Liste hinzufügen, um das Plugin auf den neuesten Stand zu bringen, damit wir es testen können. Wenn es funktioniert, können wir es ziemlich einfach in den Kern integrieren.
Ich habe dieses Thema 2-3 Mal gelesen, kann mich aber nicht erinnern, ob ihr versucht habt, die E-Mail-Adresse aus dem bereitgestellten JWT-Token zu extrahieren.
So mache ich es im nativen Code. Ich bin mir nicht sicher, ob die Web-API das zulässt.
Beim ersten Login kann man die E-Mail-Adresse direkt über ASAuthorizationAppleIDCredential.email erhalten.
Bei folgenden Logins kann die E-Mail-Adresse gefunden werden, wenn man die JWT-Daten decodiert und das Feld “email” ausliest.
Mit dem sollte die Funktion also umsetzbar sein, oder?
Die bereitgestellte E-Mail-Adresse wird die sein, die der Nutzer ausgewählt hat – entweder eine persönliche oder eine zufällige.
[quote=“Stefan_Brighiu_M, Beitrag: 54, Thema: 122790”]
Bei folgenden Logins kann die E-Mail-Adresse gefunden werden, wenn man die JWT-Daten dekodiert und das Feld „email
Das ist so seltsam, denn auf der nativen Plattform habe ich es einfach mit der JWT-E-Mail-Eigenschaft zum Laufen gebracht.
Wenn sie es im Web nicht ähnlich aktualisieren, besteht die einzige Lösung vielleicht darin, automatisch eine Dummy-E-Mail (automatisch bestätigt) zu generieren und dem Benutzer zu erlauben, sie später zu ändern, falls er möchte.
Das würde bedeuten, sich auf die von Apple bereitgestellte ID zu verlassen, was nicht gerade eine schlechte Lösung ist, aber es stinkt doch ein wenig .
Du änderst deine Apple-ID-E-Mail auf jane.row@somewhere.com
Du meldest dich bei Discourse an … wir denken immer noch, dass du jane.champion@somewhere.com bist
Deine E-Mail-Benachrichtigungen in Discourse werden nun für immer zurückgewiesen.
Uns ist unklar, welcher Prozess bei Änderungen von Apple-ID-E-Mails vorhanden ist und wie wir darauf reagieren können, falls überhaupt.
Mein Vorschlag dazu ist, dass wir diesen Randfall einfach akzeptieren und zumindest die Benutzer die Möglichkeit haben, ihre E-Mail-Adressen in Discourse für solche Randfälle zu ändern.
Ich habe heute getestet, und die gute Nachricht ist, dass Apple das Problem scheinbar behoben hat Ich sehe die E-Mail-Adresse bei jeder Authentifizierung.
Es gibt noch ein paar Probleme zu lösen, aber ich hoffe, diese Woche etwas öffentlich machen zu können.
Ich würde sagen, das ist mit Sicherheit ein Kandidat für die Auslieferung mit Discourse. Wir sollten anstreben, den Code in den Kern zu integrieren oder zumindest das Plugin für das nächste Major-Release zu bündeln (auf jeden Fall nicht das nächste Woche though )
Ja, wir können das später mit minimalem Aufwand vom Plugin in den Kern verlagern. Ein Problem ist, dass es im Vergleich zu Google, Facebook usw. mega-schwer zu konfigurieren ist.
Du benötigst ein (kostenpflichtiges?) Apple-Entwicklerkonto und musst diverse Domainverifizierungen und Zertifikate einrichten. Mit einem guten howto ist das jedoch definitiv machbar.