diff --git a/src/user_engine/factor_recovery.py b/src/user_engine/factor_recovery.py index b46ab4e..503c93f 100644 --- a/src/user_engine/factor_recovery.py +++ b/src/user_engine/factor_recovery.py @@ -60,6 +60,7 @@ def page(csrf, result=None, submitted=None, management_url=''): 'factor_not_owned_by_target':'That authenticator no longer belongs to this login. Check the target.', 'reference_conflict':'This support reference belongs to another recovery. Check the recorded operation.', 'invalid_request':'Enter a valid login and support reference.', + 'account_not_found':'This directory login was not found. Check the exact login name.', } if failure: message=messages.get(failure,'Recovery could not be confirmed. A change may have occurred. Retry the same confirmation to reconcile the result, or check the support reference. Do not start another recovery blindly.') @@ -72,6 +73,14 @@ def page(csrf, result=None, submitted=None, management_url=''): if result.get('replayed'):html+=' This retry confirmed the earlier change without repeating it.' html+='
Applications requiring MFA remain inaccessible until a working factor is available. Never send passwords, setup QR codes or verification codes to the support case.
' if management_url:html+='' + if result.get('status')=='not_found': + html+='No provider recovery record matches this reference. Check the reference; this does not prove that no other operation occurred.
' + if result.get('status')=='pending': + html+='Login: '+escape(result['user'])+'; authenticator: '+escape(result['serial'])+'. Current state: '+('active' if result['active'] else 'disabled')+'.
' + if result.get('confirmation'): + html+=apply_form(common,result['confirmation'],'Reconcile this recovery') + else: + html+='The original administrator must reconcile this operation using the same support reference.
' factors=result.get('factors',[]) if result.get('status')=='preview' and not factors: html+='No active authenticators were found for this login. Check the spelling and account. No change was made.
' @@ -81,6 +90,7 @@ def page(csrf, result=None, submitted=None, management_url=''): if failure and submitted.get('confirmation'): html+=apply_form(common,submitted['confirmation'],'Retry this recovery') html+='' + html+='' html+='Cancel and return to platform administration ยท Investigate support activity
' return html