@Override
    public String[] resolveFrom(final JoinPoint auditableTarget, final Object returnValue) {
        val values = new HashMap<>();
        val responseEntity = (ResponseEntity) returnValue;
        if (responseEntity.getStatusCode().is2xxSuccessful()) {
            val cibaResponse = Objects.requireNonNull((OidcCibaResponse) responseEntity.getBody());
            values.put(OidcConstants.AUTH_REQ_ID, DigestUtils.abbreviate(cibaResponse.getAuthenticationRequestId(), properties.getAbbreviationLength()));
        } else if (responseEntity.hasBody()) {
            val body = (Map) responseEntity.getBody();
            values.put("status", responseEntity.getStatusCode().toString());
            values.put(OAuth20Constants.ERROR_DESCRIPTION, body.get(OAuth20Constants.ERROR_DESCRIPTION));
        }
        return new String[]{auditFormat.serialize(values)};
    }
This is {@link OidcCibaResponseAuditResourceResolver}.

@author Misagh Moayyed
@since 7.1.0
support/cas-server-support-oidc-core-api/src/main/java/org/apereo/cas/oidc/audit/OidcCibaResponseAuditResourceResolver.java