@@ -116,11 +116,11 @@ server_client = ServerClient(
116116try :
117117 access_token = await server_client.get_access_token()
118118except MfaRequiredError as error:
119- mfa_token = error.mfa_token
120119 print (f " MFA Required: { error.error_description} " )
121-
122- # The MFA context is automatically stored in the client
123- # You can now use the MFA methods
120+
121+ # Decrypt the encrypted mfa_token before using MFA methods
122+ context = server_client.mfa.decrypt_mfa_token(error.mfa_token)
123+ mfa_token = context.mfa_token # Raw token for MFA API calls
124124```
125125
126126### MFA Token Encryption Design
@@ -711,7 +711,9 @@ async def login_with_mfa(server_client, store_options=None):
711711 return access_token
712712
713713 except MfaRequiredError as mfa_error:
714- mfa_token = mfa_error.mfa_token
714+ # Decrypt the encrypted mfa_token from get_access_token()
715+ context = server_client.mfa.decrypt_mfa_token(mfa_error.mfa_token)
716+ mfa_token = context.mfa_token
715717
716718 # Determine flow: check if user needs to enroll or has authenticators
717719 authenticators = await server_client.mfa.list_authenticators(
@@ -755,7 +757,10 @@ async def handle_mfa_with_error_handling(server_client, store_options=None):
755757
756758 except MfaRequiredError as error:
757759 print (f " MFA Required: { error.error_description} " )
758- mfa_token = error.mfa_token
760+
761+ # Decrypt the encrypted mfa_token from get_access_token()
762+ context = server_client.mfa.decrypt_mfa_token(error.mfa_token)
763+ mfa_token = context.mfa_token
759764
760765 try :
761766 # Get authenticators
0 commit comments