BUNDBITBK-4118

This commit is contained in:
haburger 2025-01-08 15:28:28 +00:00
parent 70afcfff48
commit e7d921f415
9 changed files with 28 additions and 3 deletions
patterns
1f0702aaabef60a615abf41f_resources
204c22beaccdfd22727af378_labels
204c22beaccdfd22727af378_template
4fcfadb4a5c946ead7e6e995_labels
4fcfadb4a5c946ead7e6e995_template
584964c837512845d7940809_authStatesFile
9a1d3c6052019748d3510261_authStatesFile
9a1d3c6052019748d3510261_resources
Recovery_createURLTicket_9a1d3c6052019748d3510261.yml

View File

@ -52,21 +52,27 @@
</AuthState>
<AuthState name="${state.entry}_reasonSelection" class="ch.nevis.esauth.auth.states.standard.ConditionalDispatcherState" final="true" resumeState="true">
<ResultCond name="cancel" next="${state.entry}_loginFactorQuestion"/>
<ResultCond name="validReasons" next="${state.entry}_instructions"/>
<ResultCond name="validReasons" next="${state.entry}_saveReason"/>
<ResultCond name="invalidReasons" next="${state.entry}_noRecovery"/>
<Response value="AUTH_CONTINUE">
<Gui name="recovery_questionnaire_reason_selection">
<GuiElem name="intro" type="info" label="recovery.intro.message"/>
<GuiElem name="authRequestId" type="hidden" value="${sess:ch.nevis.auth.saml.request.id}" optional="true"/>
<GuiElem name="reason" type="hidden" value="None" optional="true"/>
<GuiElem name="question" type="hidden" value="${inargs:continue}" optional="true"/>
<GuiElem name="cancel" type="submit" label="cancel.button.label" value="cancel"/>
<GuiElem name="submit" type="submit" label="submit.button.label" value="submit"/>
<GuiElem name="continue" type="submit" label="submit.button.label" value="submit"/>
</Gui>
</Response>
<property name="condition:cancel" value="${inargs:cancel}==cancel"/>
<property name="condition:validReasons" value="${inargs:continue}==yes"/>
<property name="condition:invalidReasons" value="${inargs:continue}==no"/>
</AuthState>
<AuthState name="${state.entry}_saveReason" class="ch.nevis.esauth.auth.states.standard.TransformAttributes" final="false" resumeState="false">
<ResultCond name="default" next="${state.entry}_instructions"/>
<Response value="AUTH_CONTINUE"/>
<property name="sess:agov.recovery.reason" value="${inargs:reason}"/>
</AuthState>
<AuthState name="${state.entry}_instructions" class="ch.nevis.esauth.auth.states.standard.ConditionalDispatcherState" final="true" resumeState="true">
<ResultCond name="cancel" next="${state.entry}_loginFactorQuestion"/>
<ResultCond name="continue" next="${state.entry}_enterEmail"/>

View File

@ -1,5 +1,5 @@
<AuthState name="${state.entry}" class="ch.nevis.idm.authstate.IdmCreateCredentialState" final="false">
<ResultCond name="ok" next="${state.done}"/>
<ResultCond name="ok" next="${state.entry}_logReason"/>
<ResultCond name="failed" next="${state.failed}"/>
<ResultCond name="credentialExists" next="${state.done}"/>
<Response value="AUTH_CONTINUE">
@ -8,4 +8,12 @@
<property name="cred.type" value="url_ticket"/>
<property name="cred.modificationComment" value="New ticket ordered"/>
<property name="recreateIfExists" value="true"/>
</AuthState>
<AuthState name="${state.entry}_logReason" class="ch.nevis.esauth.auth.states.scripting.ScriptState" final="false" resumeState="false">
<ResultCond name="ok" next="${state.done}"/>
<Response value="AUTH_CONTINUE">
<Gui name="not_used"/>
</Response>
<property name="scriptTraceGroup" value="AGOV-ACCT"/>
<property name="script" value="file:///var/opt/nevisauth/default/conf/logRecoveryReason.groovy"/>
</AuthState>

View File

@ -0,0 +1,10 @@
def requester = 'unknown'
def requestId = session['ch.nevis.auth.saml.request.id'] ?: 'unknown'
def user = session['ch.adnovum.nevisidm.user.extId'] ?: 'unknown'
def sourceIp = request.getLoginContext()['connection.HttpHeader.X-Real-IP'] ?: 'unknown'
def userAgent = request.getLoginContext()['connection.HttpHeader.user-agent'] ?: request.getLoginContext()['connection.HttpHeader.User-Agent'] ?: 'unknown'
def reason = session['agov.recovery.reason'] ?: 'unknown'
LOG.info("Event='RECOVERY-REASON', Requester='${requester}', RequestId='${requestId}', User=${user}, SourceIp=${sourceIp}, UserAgent='${userAgent}', Reason='${reason}'")
response.setResult('ok')

View File

@ -9,3 +9,4 @@ pattern:
- "pattern://6364d27d1ca954be8ef7cb46"
onFailure:
- "pattern://6364d27d1ca954be8ef7cb46"
resources: "res://9a1d3c6052019748d3510261#resources"