Skip to content

Commit

Permalink
feat: Add logic to delete user_secret when disabling MFA if mfa_type …
Browse files Browse the repository at this point in the history
…is OTP
  • Loading branch information
lhhyung committed Oct 21, 2024
1 parent abf65af commit a647715
Showing 1 changed file with 6 additions and 0 deletions.
6 changes: 6 additions & 0 deletions src/spaceone/identity/service/user_service.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@

from spaceone.identity.error.error_mfa import *
from spaceone.identity.error.error_user import *
from spaceone.identity.manager import SecretManager
from spaceone.identity.manager.config_manager import ConfigManager
from spaceone.identity.manager.email_manager import EmailManager
from spaceone.identity.manager.domain_manager import DomainManager
Expand Down Expand Up @@ -250,6 +251,11 @@ def disable_mfa(self, params: UserDisableMFARequest) -> Union[UserResponse, dict
if user_mfa.get("state", "DISABLED") == "DISABLED" or mfa_type is None:
raise ERROR_MFA_ALREADY_DISABLED(user_id=user_id)

if mfa_type == "OTP":
user_secret_id = user_mfa["options"]["user_secret_id"]
secret_manager: SecretManager = self.locator.get_manager(SecretManager)
secret_manager.delete_user_secret(user_secret_id)

user_mfa = {"state": "DISABLED"}
self.user_mgr.update_user_by_vo({"mfa": user_mfa}, user_vo)

Expand Down

0 comments on commit a647715

Please sign in to comment.