[PR #867] [CLOSED] [Auto Logout] iOS Autofill flow #2627

Closed
opened 2025-11-26 23:21:53 -06:00 by GiteaMirror · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/bitwarden/android/pull/867
Author: @vincentsalucci
Created: 5/1/2020
Status: Closed

Base: masterHead: fal-ios-autofill


📝 Commits (10+)

  • b736059 Initial commit of LockService name refactor (#831)
  • b07d0f8 Merge branch 'master' into feature-auto-logout
  • 8674540 [Auto-Logout] Update Service layer logic (#835)
  • f167774 Initial commit: lockOption/lock refactor app layer (#840)
  • 0f0cfcb [Auto-Logout] Settings Refactor - Application Layer Part 2 (#844)
  • 9d66d81 Merge branch 'master' into feature-auto-logout
  • a2b3951 Merge branch 'master' into feature-auto-logout
  • 2110141 Fixed dupe string resource (#854)
  • a9f14ea Initial commit for login from autofill flow
  • 53e960a Refactor method names, adjust focus on error dialog dismissal

📊 Changes

33 files changed (+747 additions, -248 deletions)

View changed files

📝 src/Android/Autofill/AutofillService.cs (+4 -4)
📝 src/Android/MainActivity.cs (+9 -9)
📝 src/Android/Receivers/LockAlarmReceiver.cs (+2 -2)
📝 src/App/App.xaml.cs (+30 -21)
📝 src/App/Pages/Accounts/LockPageViewModel.cs (+9 -9)
📝 src/App/Pages/Settings/SettingsPage/SettingsPage.xaml.cs (+6 -2)
📝 src/App/Pages/Settings/SettingsPage/SettingsPageViewModel.cs (+75 -28)
📝 src/App/Pages/Vault/GroupingsPage/GroupingsPage.xaml.cs (+3 -3)
📝 src/App/Pages/Vault/GroupingsPage/GroupingsPageViewModel.cs (+3 -3)
📝 src/App/Resources/AppResources.Designer.cs (+28 -29)
📝 src/App/Resources/AppResources.resx (+15 -15)
📝 src/App/Services/MobileStorageService.cs (+2 -1)
📝 src/App/Utilities/AppHelpers.cs (+9 -3)
📝 src/Core/Abstractions/ITokenService.cs (+2 -1)
📝 src/Core/Abstractions/IVaultTimeoutService.cs (+4 -3)
📝 src/Core/Constants.cs (+2 -1)
📝 src/Core/Services/AuthService.cs (+4 -4)
📝 src/Core/Services/CryptoService.cs (+2 -2)
📝 src/Core/Services/TokenService.cs (+37 -0)
📝 src/Core/Services/VaultTimeoutService.cs (+38 -13)

...and 13 more files

📄 Description

Objective

Create flow for logging into the application and using the autofill service

Code Changes

  • CredentialProviderViewController.cs: Added explicit IsAuthed conditionals that will launch a segue into the Login flow. Removed unnecessary method. Added setter for Credential Provider context into new view.
  • iOS.Autofill/LoginPasswordViewController.cs: Created class for the autofill framework that will inherit from the shared code within the Controllers sub-module.
  • MainInterface.storyboard: Added new LoginPassword segue that handles authentication for autofill service use.
  • iOS.Core/Controllers/LoginPasswordViewController.cs: This controller was added to handle the shared logic between authentication to the server and autofill/extension usage.

Known issues (must fix - any ideas/leads are greatly appreciated)

  • Hitting GO on the keyboard to launch the LogInAsync method bricks the application. Hitting Log In from the nav works fine.
  • After successfully authenticating and syncing (<- presumably) the logins list is empty for a known item (ex: github.com exists within the application, but after using the login segue and landing on the logins list, no results are found)
    • Can anyone else test this with me: I'm actually seeing this succeed now.

Upgrades (input needed on whether or not these should be added)

  • Show Password option: future release
  • Get Master Password hint segue: not in scope

What's next?

  • 2FA authentication view
    • TODO: Duo Web View integration, YubiKey messages
    • TwoFactorSegue will be launched via the LoginPasswordViewController

Login Credentials - AutoFill Service

0-login-creds-request

Login Credentials Errors

1-login-creds-errors

Login Credentials Items Found

2-login-found


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/bitwarden/android/pull/867 **Author:** [@vincentsalucci](https://github.com/vincentsalucci) **Created:** 5/1/2020 **Status:** ❌ Closed **Base:** `master` ← **Head:** `fal-ios-autofill` --- ### 📝 Commits (10+) - [`b736059`](https://github.com/bitwarden/android/commit/b73605983e18b3e6a498a5ea44ce61ff5c71fbe7) Initial commit of LockService name refactor (#831) - [`b07d0f8`](https://github.com/bitwarden/android/commit/b07d0f8cf168d0c7b6649377e4588ac7d29562f5) Merge branch 'master' into feature-auto-logout - [`8674540`](https://github.com/bitwarden/android/commit/867454005360888e7f2e63896eb8e22deb7725fd) [Auto-Logout] Update Service layer logic (#835) - [`f167774`](https://github.com/bitwarden/android/commit/f1677743ed69be755d8e9ab1886b5f94c59cdf22) Initial commit: lockOption/lock refactor app layer (#840) - [`0f0cfcb`](https://github.com/bitwarden/android/commit/0f0cfcbcb4bd735d5bf4953ae452a0d9bc88b435) [Auto-Logout] Settings Refactor - Application Layer Part 2 (#844) - [`9d66d81`](https://github.com/bitwarden/android/commit/9d66d8161468276d76fecfa7591a4b2fb7293cd0) Merge branch 'master' into feature-auto-logout - [`a2b3951`](https://github.com/bitwarden/android/commit/a2b3951ad3e98603a810a10cbeb4afb07ebbff70) Merge branch 'master' into feature-auto-logout - [`2110141`](https://github.com/bitwarden/android/commit/21101419fee1ac1e53e8344af71879ca9bce2a8c) Fixed dupe string resource (#854) - [`a9f14ea`](https://github.com/bitwarden/android/commit/a9f14eab056d5094d6b383cb7f993cde11e4bc4f) Initial commit for login from autofill flow - [`53e960a`](https://github.com/bitwarden/android/commit/53e960a8904791ebed7b2b43c1dfa31ed045627f) Refactor method names, adjust focus on error dialog dismissal ### 📊 Changes **33 files changed** (+747 additions, -248 deletions) <details> <summary>View changed files</summary> 📝 `src/Android/Autofill/AutofillService.cs` (+4 -4) 📝 `src/Android/MainActivity.cs` (+9 -9) 📝 `src/Android/Receivers/LockAlarmReceiver.cs` (+2 -2) 📝 `src/App/App.xaml.cs` (+30 -21) 📝 `src/App/Pages/Accounts/LockPageViewModel.cs` (+9 -9) 📝 `src/App/Pages/Settings/SettingsPage/SettingsPage.xaml.cs` (+6 -2) 📝 `src/App/Pages/Settings/SettingsPage/SettingsPageViewModel.cs` (+75 -28) 📝 `src/App/Pages/Vault/GroupingsPage/GroupingsPage.xaml.cs` (+3 -3) 📝 `src/App/Pages/Vault/GroupingsPage/GroupingsPageViewModel.cs` (+3 -3) 📝 `src/App/Resources/AppResources.Designer.cs` (+28 -29) 📝 `src/App/Resources/AppResources.resx` (+15 -15) 📝 `src/App/Services/MobileStorageService.cs` (+2 -1) 📝 `src/App/Utilities/AppHelpers.cs` (+9 -3) 📝 `src/Core/Abstractions/ITokenService.cs` (+2 -1) 📝 `src/Core/Abstractions/IVaultTimeoutService.cs` (+4 -3) 📝 `src/Core/Constants.cs` (+2 -1) 📝 `src/Core/Services/AuthService.cs` (+4 -4) 📝 `src/Core/Services/CryptoService.cs` (+2 -2) 📝 `src/Core/Services/TokenService.cs` (+37 -0) 📝 `src/Core/Services/VaultTimeoutService.cs` (+38 -13) _...and 13 more files_ </details> ### 📄 Description ## Objective > Create flow for logging into the application and using the autofill service ## Code Changes - **CredentialProviderViewController.cs**: Added explicit `IsAuthed` conditionals that will launch a segue into the `Login` flow. Removed unnecessary method. Added setter for Credential Provider context into new view. - **iOS.Autofill/LoginPasswordViewController.cs**: Created class for the autofill framework that will inherit from the shared code within the `Controllers` sub-module. - **MainInterface.storyboard**: Added new `LoginPassword` segue that handles authentication for autofill service use. - **iOS.Core/Controllers/LoginPasswordViewController.cs**: This controller was added to handle the shared logic between authentication to the server and autofill/extension usage. ## Known issues (must fix - any ideas/leads are greatly appreciated) - ~~Hitting GO on the keyboard to launch the `LogInAsync` method bricks the application. Hitting `Log In` from the nav works fine.~~ - After successfully authenticating and syncing (<- presumably) the logins list is empty for a known item (ex: github.com exists within the application, but after using the login segue and landing on the logins list, no results are found) - Can anyone else test this with me: I'm actually seeing this succeed now. ## Upgrades (input needed on whether or not these should be added) - Show Password option: **future release** - ~~Get Master Password hint segue: not in scope~~ ## What's next? - 2FA authentication view - TODO: Duo Web View integration, YubiKey messages - TwoFactorSegue will be launched via the `LoginPasswordViewController` ## Login Credentials - AutoFill Service ![0-login-creds-request](https://user-images.githubusercontent.com/26154748/80836282-0a3a6b00-8bba-11ea-9ad6-63aa9341a20c.png) ## Login Credentials Errors <img width="1772" alt="1-login-creds-errors" src="https://user-images.githubusercontent.com/26154748/80836323-1cb4a480-8bba-11ea-9f70-2f59a09e6d10.png"> ## Login Credentials Items Found ![2-login-found](https://user-images.githubusercontent.com/26154748/80836660-da3f9780-8bba-11ea-8771-1617774c2927.png) --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
GiteaMirror added the pull-request label 2025-11-26 23:21:53 -06:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/android#2627