From 26d7406d4783172dcc181ed54f6f740e6bf2bed2 Mon Sep 17 00:00:00 2001 From: haburger Date: Thu, 13 Feb 2025 09:27:09 +0000 Subject: [PATCH] BUNDBITBK-4445 --- .../ensureRecoveryCode.groovy | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/patterns/9ff0369f3cf662f95d94ff09_resources/ensureRecoveryCode.groovy b/patterns/9ff0369f3cf662f95d94ff09_resources/ensureRecoveryCode.groovy index 2b57ec7..32ade15 100644 --- a/patterns/9ff0369f3cf662f95d94ff09_resources/ensureRecoveryCode.groovy +++ b/patterns/9ff0369f3cf662f95d94ff09_resources/ensureRecoveryCode.groovy @@ -39,21 +39,26 @@ if (Arrays.stream(response.getActualRoles()).filter( r -> r.matches('^.*AGOV-Loi return } - -// 1b) check if user has a credential +// 1a) check if user has a credential if ( recoveryCredential != null ) { LOG.debug("Account '${user}' has an active recovery code, no need to create new code") response.setResult('done') return } -// 1c) check if a recovery is ongoing (nothing to do) +// 1b) check if a recovery is ongoing (nothing to do) if (Arrays.stream(response.getActualRoles()).filter( r -> r.contains('AGOV-AccountStatus.recovery')).findAny().isPresent()) { LOG.debug("Account '${user}' is in recovery, no need to create new code") response.setResult('done') return } +// 1c) don't do it for mobile phones (BUNDBITBK-4445) +if (userAgent =~ /(iPhone|Android)/ ) { + LOG.debug("User '${user}' used a mobile phone, recovery code creation skipped") + response.setResult('done') + return +} // 2) set cookie for recoveryCode if (outargs.containsKey('out.JWTToken')) {