private void setSpOIDCProperties(Map<String, List<String>> spOIDCProperties, OAuthAppDO oauthApp) { // Handle OIDC audience values if (isOIDCAudienceEnabled() && CollectionUtils.isNotEmpty(spOIDCProperties.get(OPENID_CONNECT_AUDIENCE))) { List<String> oidcAudience = new ArrayList<>(spOIDCProperties.get(OPENID_CONNECT_AUDIENCE)); oauthApp.setAudiences(oidcAudience.toArray(new String[oidcAudience.size()])); } // Handle other SP OIDC properties boolean isRequestObjectSigned = Boolean.parseBoolean( getFirstPropertyValue(spOIDCProperties, REQUEST_OBJECT_SIGNED)); oauthApp.setRequestObjectSignatureValidationEnabled(isRequestObjectSigned); boolean isIdTokenEncrypted = Boolean.parseBoolean( getFirstPropertyValue(spOIDCProperties, ID_TOKEN_ENCRYPTED)); oauthApp.setIdTokenEncryptionEnabled(isIdTokenEncrypted); String idTokenEncryptionAlgorithm = getFirstPropertyValue(spOIDCProperties, ID_TOKEN_ENCRYPTION_ALGORITHM); oauthApp.setIdTokenEncryptionAlgorithm(idTokenEncryptionAlgorithm); String idTokenEncryptionMethod = getFirstPropertyValue(spOIDCProperties, ID_TOKEN_ENCRYPTION_METHOD); oauthApp.setIdTokenEncryptionMethod(idTokenEncryptionMethod); String backChannelLogoutUrl = getFirstPropertyValue(spOIDCProperties, BACK_CHANNEL_LOGOUT_URL); oauthApp.setBackChannelLogoutUrl(backChannelLogoutUrl); String frontchannelLogoutUrl = getFirstPropertyValue(spOIDCProperties, FRONT_CHANNEL_LOGOUT_URL); oauthApp.setFrontchannelLogoutUrl(frontchannelLogoutUrl); String tokenType = getFirstPropertyValue(spOIDCProperties, TOKEN_TYPE); oauthApp.setTokenType(tokenType); boolean bypassClientCreds = Boolean.parseBoolean( getFirstPropertyValue(spOIDCProperties, BYPASS_CLIENT_CREDENTIALS)); oauthApp.setBypassClientCredentials(bypassClientCreds); }