@@ -11,10 +11,11 @@ if [ $# -lt 1 ]; then
11
11
echo " "
12
12
echo " URL typically ends with '/openid-configuration'"
13
13
echo " Options:"
14
- echo " -h | --host <server_name> # Configure for specific host (server FQDN)"
14
+ echo " -h | --host <server_name> # Configure for specific host (server FQDN)"
15
15
echo " -k | --auth_jwt_key <file|request> # Use auth_jwt_key_file (default) or auth_jwt_key_request"
16
16
echo " -i | --client_id <id> # Client ID as obtained from OpenID Connect Provider"
17
17
echo " -s | --client_secret <secret> # Client secret as obtained from OpenID Connect Provider"
18
+ echo " -p | --pkce_enable # Enable PKCE for this client"
18
19
echo " -x | --insecure # Do not verify IdP's SSL certificate"
19
20
echo " "
20
21
exit 1
25
26
DO_JWKS_URI=0
26
27
CLIENT_ID=" "
27
28
CLIENT_SECRET=" "
29
+ PKCE=0
28
30
HOSTNAME=" default"
29
31
SED_BAK=" .ORIG"
30
32
while [ $# -gt 1 ]; do
@@ -46,6 +48,10 @@ while [ $# -gt 1 ]; do
46
48
CLIENT_SECRET=$2
47
49
shift ; shift
48
50
;;
51
+ " -p" | " --pkce_enable" | " --pkce-enable" | " --enable_pkce" | " --enable-pkce" )
52
+ PKCE=1
53
+ shift
54
+ ;;
49
55
" -h" | " --host" )
50
56
HOSTNAME=$2
51
57
shift ; shift
@@ -129,6 +135,10 @@ if [ "$CLIENT_SECRET" != "" ]; then
129
135
echo " \$ oidc_client_secret $CLIENT_SECRET " >> /tmp/${COMMAND} _$$ _conf
130
136
fi
131
137
138
+ # Add PKCE configuration
139
+ PKCE_ENABLE_VAR=\$ oidc_pkce_enable
140
+ echo " \$ oidc_pkce_enable $PKCE " >> /tmp/${COMMAND} _$$ _conf
141
+
132
142
# Fetch or configure the JWK file depending on configuration input
133
143
# Also apply appropriate auth_jwt_key_ configuration directive.
134
144
#
168
178
169
179
# Loop through each configuration variable
170
180
echo " $COMMAND : NOTICE: Configuring $CONFDIR /openid_connect_configuration.conf"
171
- for OIDC_VAR in \$ oidc_authz_endpoint \$ oidc_token_endpoint \$ oidc_jwt_keyfile \$ oidc_hmac_key $CLIENT_ID_VAR $CLIENT_SECRET_VAR ; do
181
+ for OIDC_VAR in \$ oidc_authz_endpoint \$ oidc_token_endpoint \$ oidc_jwt_keyfile \$ oidc_hmac_key $CLIENT_ID_VAR $CLIENT_SECRET_VAR $PKCE_ENABLE_VAR ; do
172
182
# Pull the configuration value from the intermediate file
173
183
VALUE=` grep " ^$OIDC_VAR " /tmp/${COMMAND} _$$ _conf | cut -f2 -d' ' `
174
184
echo -n " $COMMAND : NOTICE: - $OIDC_VAR ..."
0 commit comments