2017-11-09 6 views
0

Ich muss eine Today Widget/Erweiterung zu einer bestehenden iOS-App hinzufügen, bei der der Benutzer sich über eine WKWebView anmeldet.Ein Today-Widget für den API-Zugriff authentifizieren

Da die Erweiterung nur mit Apple-Frameworks oder über openURL() zurück zur Haupt-App kommuniziert, wie würde ich das in der Haupt-App gespeicherte Authentifizierungstoken am besten mit dem Today Widget/der Erweiterung teilen, damit authentifizierte API-Aufrufe durchgeführt werden können?

Kann dies mit einem gemeinsamen Schlüsselbund erfolgen? Oder gibt es eine andere sichere Alternative?

Es ist nicht möglich, den Benutzer in der Benutzeroberfläche der Today-Erweiterung erneut anmelden zu lassen.

Antwort

0

Sie können App-Gruppen verwenden, um Daten zwischen der Hauptanwendung und der heutigen Widget-Erweiterung freizugeben. Sie benötigen App-Gruppe für Ihre Anwendung aktivieren und erstellen:

UserDefaults.init(suiteName: "group.com.yourOrganization.yourApplicationName") 

In der Hauptanwendung, geben Sie Ihre Daten in diesem UserDefaults und versuchen, darauf zuzugreifen aus Ihrer Heute Widget-Erweiterung.

+0

Danke. Ist das sicher und daher zum Teilen von Authentifizierungs-Tokens geeignet? –

+0

Gut UserDefaults ist nicht der Ort, um gesicherte Daten definitiv zu halten, Sie können das Token in irgendeiner Weise verschlüsseln, wenn dies ein Problem für Sie ist. Ein einzelnes Token sollte meiner Meinung nach jedoch kein Sicherheitsproblem darstellen. –

+1

Ich habe gerade entdeckt, dass es möglich ist, eine shared keychain group zu verwenden - siehe 14m00 in diesem WWDC-Video: https://developer.apple.com/videos/play/wwdc2014/217/ –

0

Verwenden eine gemeinsamer Schlüsselanhänger Gruppe der Token zu speichern, wie bei 14m00s in diesem WWDC Video beschrieben: developer.apple.com/videos/play/wwdc2014/217

Verwandte Themen