24 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Groovy
		
	
	
	
			
		
		
	
	
			24 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Groovy
		
	
	
	
if(outargs.containsKey('saml.SAMLResponse')) {
 | 
						|
     // Accounting
 | 
						|
     def requester = session['ch.nevis.auth.saml.request.scoping.requesterId'] ?: 'unknown'
 | 
						|
     def requestId = session['ch.nevis.auth.saml.request.id'] ?: 'unknown'
 | 
						|
     def requestedAq = session['agov.requestedRoleLevel'] ?: 'unknown'
 | 
						|
     def user = session['ch.adnovum.nevisidm.user.extId'] ?: 'unknown'
 | 
						|
     def credentialType = session['agov.recovery.authenticatedWith'] ?: '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'
 | 
						|
 | 
						|
     LOG.info("Event='GOTORECOVERY', Requester='${requester}', RequestId='${requestId}', RequestedAq=${requestedAq}, User=${user}, CredentialType='${credentialType}', SourceIp=${sourceIp}, UserAgent='${userAgent}', RecoveryInfo={ ctxClass: ${session['agov.recovery.authnContextClassRef']}, acctAq: ${session['agov.recovery.currentAgovAq']}}")
 | 
						|
 | 
						|
     // Redirect
 | 
						|
     response.addOutArg('nevis.transfer.destination', parameters.get('agovmedirecturl'))
 | 
						|
     response.addOutArg('nevis.transfer.field.SAMLResponse', outargs.getProperty('saml.SAMLResponse').bytes.encodeBase64().toString())
 | 
						|
     response.setStatus(ch.nevis.esauth.auth.engine.AuthResponse.AUTH_CONTINUE) 
 | 
						|
     response.setIsRedirectTransfer(false)
 | 
						|
 | 
						|
     response.removeOutArg('saml.SAMLResponse')
 | 
						|
}
 | 
						|
else {
 | 
						|
    response.setResult('ok')
 | 
						|
}
 |