Skip to content

[Reset Password v1] Update Temp Password#1492

Merged
vincentsalucci merged 14 commits into
masterfrom
m-rpv1-update-temp
Sep 24, 2021
Merged

[Reset Password v1] Update Temp Password#1492
vincentsalucci merged 14 commits into
masterfrom
m-rpv1-update-temp

Conversation

@vincentsalucci

@vincentsalucci vincentsalucci commented Aug 11, 2021

Copy link
Copy Markdown
Member

Objective

Allow mobile client to force a password update after an admin resets a user's master password.

Code Changes

  • BaseChangePasswordViewModel: Created superclass to house methods/functionality that can be leveraged by classes needing to change/set/update a user's master password.
  • LoginPage.xaml.cs: Added functionality to handle the UpdateTempPassword flow
  • LoginPageViewModel: Added functionality to handle the UpdateTempPassword flow
  • LoginSsoPage.xaml.cs: Added functionality to handle the UpdateTempPassword flow
  • LoginSsoPageViewModel: Added functionality to handle the UpdateTempPassword flow
  • SetPasswordPage.xaml.cs: Added functionality to handle the UpdateTempPassword flow
  • SetPasswordPageViewModel: Added functionality to handle the UpdateTempPassword flow
  • TwoFactorPage.xaml.cs: Added functionality to handle the UpdateTempPassword flow
  • TwoFactorPageViewModel: Added functionality to handle the UpdateTempPassword flow
  • UpdateTempPasswordPage.xaml: Created UI to handle input of Master Password, Master password re-type, and master password hint
  • UpdateTempPasswordPage.xaml.cs: Created codebehind that handles the UpdateTempPassword flow
  • UpdateTempPasswordPageViewModel: Created view model that extends the new base class and handle logic for encrypting/setting updated password
  • AppResources: Added new strings
  • IApiService: Added new method PutUpdateTempPasswordAsync to interface
  • IUserService: Added new getter/setter methods related to the forcePasswordReset boolean
  • UpdateTempPasswordRequest: Created request model used in new API call
  • ProfileResponse: Added ForcePasswordReset to the response object
  • ApiService: Added new method PutUpdateTempPasswordAsync
  • SyncService: Called newly created setter for the ForcePasswordReset boolean
  • UserService: Created getter/setter methods for the ForcePasswordReset boolean

Screenshot

Coming Soon ™️

TODO

Determine how much of this code needs to be replicated for the iOS extensions (autofill, etc)

[MP] Support for this feature is now enabled in the extensions. A number of old extension bugs were brought to light while working on this, those have been fixed as well.

Does the UpdateTempPasswordPage need to pass in the _appOptions even though a successful update to the master password results in a log out message?

[AB] Nope, I'm being logged out as expected after resetting the password.

End to end test of existing logic/structure regarding the 4 entry points (login, sso, set password, and 2fa). Is the base class working as intended?

If the base class is working, refactor the SetPasswordPageViewModel to extend BaseChangePasswordPageViewModel

@vincentsalucci vincentsalucci marked this pull request as ready for review September 24, 2021 16:12
@vincentsalucci vincentsalucci merged commit 271e6b3 into master Sep 24, 2021
@vincentsalucci vincentsalucci deleted the m-rpv1-update-temp branch September 24, 2021 18:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants