Skip to content

Commit 2cd9660

Browse files
committed
feat(HDNEXT-1608): add validate_env_vars to configure-user-oidc.sh
Replace the 9 sequential -z/log_fatal checks (7 ENC_OIDC_* vars plus INSTANCE_TYPE and MARKET) with a single validate_env_vars call, matching the same helper already added to configure.sh and configure-object-store.sh. Reports every missing variable at once instead of stopping at the first one.
1 parent 3f41269 commit 2cd9660

1 file changed

Lines changed: 37 additions & 34 deletions

File tree

‎configure-user-oidc.sh‎

Lines changed: 37 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,32 @@ log_fatal() {
1111
exit 1
1212
}
1313

14+
# Log warning message
15+
# Usage: log_warning <message>
16+
log_warning() {
17+
echo "\033[1;33m[w] Warning: ${*}\033[0m" >/dev/stderr
18+
}
19+
20+
# Validate required environment variables
21+
# Usage: validate_env_vars <var1> <var2> ...
22+
# Returns: 0 if all variables are set, 1 otherwise
23+
validate_env_vars() {
24+
_validation_failed=false
25+
26+
for _var in "${@}"; do
27+
eval "_value=\${${_var}}"
28+
if [ -z "${_value}" ]; then
29+
log_warning "${_var} environment variable is not set"
30+
_validation_failed=true
31+
fi
32+
done
33+
34+
if [ "${_validation_failed}" = "true" ]; then
35+
return 1
36+
fi
37+
return 0
38+
}
39+
1440
# Returns the end-session endpoint URI for the given INSTANCE_TYPE and MARKET.
1541
endsessionendpointuri() {
1642
case "${INSTANCE_TYPE}:${MARKET}" in
@@ -98,42 +124,19 @@ main() {
98124
log_fatal "jq not found"
99125
fi
100126

101-
if [ -z "${ENC_OIDC_PROVIDER_IDENTIFIER}" ]; then
102-
log_fatal "ENC_OIDC_PROVIDER_IDENTIFIER not set"
103-
fi
104-
105-
if [ -z "${ENC_OIDC_CLIENT_ID}" ]; then
106-
log_fatal "ENC_OIDC_CLIENT_ID not set"
107-
fi
108-
109-
if [ -z "${ENC_OIDC_SECRET}" ]; then
110-
log_fatal "ENC_OIDC_SECRET not set"
111-
fi
112-
113-
if [ -z "${ENC_OIDC_DISCOVERY_URI}" ]; then
114-
log_fatal "ENC_OIDC_DISCOVERY_URI not set"
115-
fi
116-
117-
if [ -z "${ENC_OIDC_EXTRA_CLAIMS}" ]; then
118-
log_fatal "ENC_OIDC_EXTRA_CLAIMS not set"
119-
fi
120-
121-
if [ -z "${ENC_OIDC_MAPPING_UID}" ]; then
122-
log_fatal "ENC_OIDC_MAPPING_UID not set"
123-
fi
124-
125-
if [ -z "${ENC_OIDC_SCOPES}" ]; then
126-
log_fatal "ENC_OIDC_SCOPES not set"
127-
fi
128-
129-
if [ -z "${INSTANCE_TYPE}" ]; then
130-
log_fatal "INSTANCE_TYPE not set"
127+
if ! validate_env_vars \
128+
ENC_OIDC_PROVIDER_IDENTIFIER \
129+
ENC_OIDC_CLIENT_ID \
130+
ENC_OIDC_SECRET \
131+
ENC_OIDC_DISCOVERY_URI \
132+
ENC_OIDC_EXTRA_CLAIMS \
133+
ENC_OIDC_MAPPING_UID \
134+
ENC_OIDC_SCOPES \
135+
INSTANCE_TYPE \
136+
MARKET; then
137+
log_fatal "required user_oidc environment variables are not set"
131138
fi
132139
INSTANCE_TYPE=$(printf '%s' "${INSTANCE_TYPE}" | tr '[:lower:]' '[:upper:]')
133-
134-
if [ -z "${MARKET}" ]; then
135-
log_fatal "MARKET not set"
136-
fi
137140
MARKET=$(printf '%s' "${MARKET}" | tr '[:lower:]' '[:upper:]')
138141

139142
if ! configure_user_oidc; then

0 commit comments

Comments
 (0)