2014-11-13 2 views
7

Ich möchte Benutzeranmeldeinformationen sicher im iOS-Schlüsselbund speichern, aber ich möchte nur, dass der Benutzer seinen Fingerabdruck verwenden kann, um den Schlüsselbundartikel abzurufen. Gibt es einen Workflow für den Aufruf des Touch ID-Sensors zum Abrufen von Schlüsselbundelementen mit der Möglichkeit, das Entsperren des Kennworts zu verwerfen oder überhaupt auf das Kennwort zurückzugreifen?Gibt es eine Möglichkeit, die Touch ID mit dem iOS Keychain zu verwenden, aber nicht nach dem Benutzerpasscode zu fragen?

Ich habe die Methoden implementiert, die in der WWDC-Sitzung auf Touch ID und Keychain definiert wurden, aber ich möchte nicht auf den Gerätepasscode wie in ihrer Demo zurückgreifen. Ich möchte, dass sich der Benutzer traditionell anmeldet, nachdem der Fingerabdruckscan fehlgeschlagen ist.

Antwort

0

Es gibt keine Möglichkeit, den Fallback-Mechanismus mithilfe des Passcodes bei der Keychain TouchID-Integration zu deaktivieren.

+0

Zum Glück wurde dies in iOS 9 angesprochen. Btw, vielen Dank für die tolle KeychainAc Cess-Bibliothek! =) – skozin

4

@kishikawa-katsumi ist richtig, in iOS 8 gibt es keine Möglichkeit, Passcode-Fallback zu deaktivieren. Das Zugriffskontroll-Flag kSecAccessControlUserPresence ermöglicht den Zugriff auf ein Element nach der Touch ID- oder der Passcode-Authentifizierung und erfordert auch nicht, dass Touch ID verfügbar ist.

Aber das wurde in iOS 9 verbessert. Zwei Touch ID-bezogene Flags, und kSecAccessControlTouchIDCurrentSet, have been added.

So müssen Sie eine dieser beiden Fahnen verwenden, wenn für Schlüsselanhänger Artikel (mit SecAccessControlCreateWithFlags Funktion) Zutrittskontrolle Objekt erstellen und zuweisen, das Objekt zu kSecAttrAccessControl Attribut, wenn das Element mit SecItemAdd Funktion hinzufügen.

Es gibt an example from Apple, die dies zeigt; siehe addTouchIDItemAsync Methode.

Siehe auch this post für eine Überprüfung von anderen sicherheitsrelevanten Änderungen in iOS 9.

5

können Sie passen die „Passwort eingeben“ Taste localizedFallbackTitle Eigenschaft

LAContext *myContext = [[LAContext alloc] init]; 
myContext.localizedFallbackTitle = @"sign in traditionally"; 

Wenn Sie das Ausweich entfernen möchten Knopf, setze einfach die Eigenschaft wie folgt

Verwandte Themen