passforios
passforios copied to clipboard
iOS 12 - Password AutoFill Keyboard Suggestion Enhancement
I'm currently using the latest 0.5.1 (15) beta which has the new iOS 12 Password Autofill extension support. This is covered by issue #196.
I'd like to suggest an enhancement to this functionality as it currently is implemented in beta.
When I have 1Password's Autofill functionality enabled in Settings->Passwords Accounts->AutoFill Passwords, I'll get password account suggestions directly on the keyboard bar itself that I can tap for a matching app/website.
It looks like this:

Notice the password suggestion that it pulled from the AutoFill provider and showed directly in the keyboard. I don't have to tap the "key icon" and then select the entry from the list.
If I do the same while having passforios I get the following with no suggestions:

I'd love to see the same password suggestions when using fields in apps and websites!
It has been in my todo list to a while. But I haven't got time to implement this. T_T Pull requests are always welcome!
Should Pass for iOS show up as an app in the Settings > "Passwords and Accounts" > Autofill Passwords page on iOS 12?
@jmpolom I implemented that in September. @mssun Would you please release a new version asap?
Any news on this?
A new version has been submitted, and it's still under review.
@jbddc A new version (0.5.1) has been published in App Store.
Cheers for that @mssun! 🙌
@yishilin14 I've tried building the latest version from master and account suggestions aren't visible so perhaps this isn't there at this stage? Password autofill works fine in general, it's just that the account usernames aren't displayed on the QuickType bar.
Showing username on the QuickType bar has not been implemented.
As far as I can recall, in order to support this feature, Pass should maintain a separated list of passwords (at least domain names and usernames), which I don't think is very easy to implement. Also, I am not sure whether we should decrypted all usernames and save the decrypted list.
Yep, @yishilin14 seems to be via ASCredentialIdentityStore. Apple indicates that the list of identities is stored on the device only and only available to AutoFill (https://developer.apple.com/videos/play/wwdc2018/721/) but yes, I agree if it's going to happen, opt-in would be good.
Mozilla's got an example implementation in its lockbox-ios project (https://github.com/mozilla-lockbox/lockbox-ios/blob/473dcd393fd97b3ad10f7299a5fa534fa13f83cd/Shared/Store/CredentialProviderStore.swift#L86)
There is no need to maintain separate list of domain names or usernames. This can be implemented in a very simple way.
Imagine there are 3 items in keychain: github.com, github.com (alternate), google.com.
- We can extract domain names as a first word here — if it matches domain regex of course.
- Username would be second word in round braces. If it doesn't exist it can be empty or 'default' etc. So for 2nd case:
alternate.