1

Wir haben die Haupt-App in Firebase SDK integriert. Nutzer melden sich über die Hauptanwendung per E-Mail, Google oder Facebook an.Verwendung desselben Authentifizierten Benutzer-Tokens zwischen der Haupt-iOS-App und der Share-Erweiterung

Jetzt haben wir eine Share-Erweiterung implementiert, die idealerweise die gleiche Authentifizierungssitzung intern nutzen sollte, so dass Daten mit demselben Benutzer auf Firebase gesendet werden können, ohne ihn erneut über die Erweiterung anzumelden.

Also weiß jemand die Möglichkeit, Firebase-Authentifizierungssitzung zwischen der Haupt-App und Freigabeerweiterung zu teilen?

  1. Entweder haben wir einen internen Aufruf an die Hauptanwendung gesendet, um Firebase-Material auszuführen, da er Authentifizierungsdetails enthält.

  2. Die Haupt-App setzt einige Token zu allgemeinen Benutzereinstellungen über App-Gruppen, die dann von der Share-Erweiterung verwendet werden, um sich automatisch erneut zu authentifizieren.

  3. Oder Firebase in gewisser Weise so, nicht zu tun, bieten

Ich weiß, was von oben möglich ist. Ich habe eine Methode signInWithCustomToken:completion: gefunden, aber es ist nicht im Zusammenhang mit dem, was ich eigentlich suche.

Antwort

0

zu lesen und aus dem gleichen Satz von NSUserDefaults speichern Sie die folgenden Voraussetzungen:

  1. In Ihrer Haupt App, wählen Sie Ihr Projekt im Projektnavigator.
  2. Wählen Sie das Hauptziel Ihrer App aus und wählen Sie die Registerkarte Funktionen.
  3. App-Gruppen aktivieren (dies wird mit dem Entwicklerportal kommunizieren, da es eine Reihe von Berechtigungen generiert, und entsprechende App-ID und so weiter ).
  4. Erstellen Sie einen neuen Container. Laut der Hilfe muss es mit "group." Starten, also geben Sie ihm einen Namen wie "group.myapp.test".
  5. Wählen Sie Ihr Today Extension-Ziel und wiederholen Sie diesen Prozess des Einschaltens App-Gruppen. Erstellen Sie keine neue Gruppe, sondern wählen Sie diese neu erstellte Gruppe , um anzuzeigen, dass die Today-Erweiterung ein Mitglied der Gruppe ist.

Schreibe deine NSUserDefaults:

// In this example I´m setting FirstLaunch value to true 
NSUserDefaults(suiteName: "group.myapp.test")!.setBool(true, forKey: "FirstLaunch") 

Lesen von NSUserDefaults:

// Getting the value from FirstLaunch 
let firstLaunch = NSUserDefaults(suiteName: "group.myapp.test")!.boolForKey("FirstLaunch") 

if !firstLaunch { 
    ... 
} 
+0

Sir, eigentlich weiß ich, wie Daten zwischen Haupt App und Erweiterung zu teilen. Mein Problem besteht darin, dieselbe Authentifizierungssitzung zwischen Hauptanwendung und Erweiterung zu verwenden. – Mrug

+0

Sie haben ein Authentifizierungstoken dafür? Wenn nicht, können Sie eine Eigenschaft direkt in den Benutzerstandards "isUserAuthenticated" speichern und die Authentifizierung in der Erweiterung überspringen. Wenn Sie ein Authentifizierungstoken haben, können Sie es in Benutzerstandardeinstellungen speichern und mit der Erweiterung teilen, um zu überprüfen, ob das Token gültig ist. –

+0

Dies ist nicht die Lösung. Ich suche tatsächlich nach einer Möglichkeit Firebase-Sitzung zwischen Hauptanwendung und Erweiterung zu teilen. Bitte gehen Sie die Frage durch. – Mrug

Verwandte Themen