in streampipes-commons/src/main/java/org/apache/streampipes/commons/environment/parser/OAuthConfigurationParser.java [71:108]
private void parseEnvironmentVariable(
String key,
String value,
Map<String, OAuthConfiguration> oAuthConfigurationsMap
) {
var parts = getParts(key);
if (parts.length >= 5) {
// containst the identifier of the provider (e.g. azure, github, ...)
var registrationId = getRegistrationId(parts);
var settingName = getSettingName(parts);
var oAuthConfiguration = getOrCreateOAuthConfiguration(oAuthConfigurationsMap, registrationId);
oAuthConfiguration.setRegistrationId(registrationId);
switch (settingName) {
case "AUTHORIZATION_URI" -> oAuthConfiguration.setAuthorizationUri(value);
case "CLIENT_NAME" -> oAuthConfiguration.setClientName(value);
case "CLIENT_ID" -> oAuthConfiguration.setClientId(value);
case "CLIENT_SECRET" -> oAuthConfiguration.setClientSecret(value);
case "FULL_NAME_ATTRIBUTE_NAME" -> oAuthConfiguration.setFullNameAttributeName(value);
case "ISSUER_URI" -> oAuthConfiguration.setIssuerUri(value);
case "JWK_SET_URI" -> oAuthConfiguration.setJwkSetUri(value);
case "SCOPES" -> oAuthConfiguration.setScopes(value.split(","));
case "TOKEN_URI" -> oAuthConfiguration.setTokenUri(value);
case "USER_INFO_URI" -> oAuthConfiguration.setUserInfoUri(value);
case "EMAIL_ATTRIBUTE_NAME" -> oAuthConfiguration.setEmailAttributeName(value);
case "USER_ID_ATTRIBUTE_NAME" -> oAuthConfiguration.setUserIdAttributeName(value);
case "NAME" -> oAuthConfiguration.setRegistrationName(value);
default -> LOG.warn(
"Unknown setting {} for oauth configuration in environment variable {}",
settingName,
key
);
}
} else {
LOG.warn("Invalid environment variable for oauth configuration: {}", key);
}
}